さとやn Blog

試合はRuby,勝負はC#!

Xamarin

MonoGame をMac OSXで試す

MonogameをOSX&Xamarinで試そうとしたけど中々動かなかったのでメモ。
  • XmarinStudioはこちらからインストール。
  • MonoGameはこちらからOSX用をダウンロード。
  • XamarinStudioのアドインマネージャを開いて、Install from fileを使ってダウンロードしたMonoGameをXamarinStudioにインストール。
この段階で既にプロジェクトテンプレートにMonoGameが表示されて、実際にプロジェクトも作れるのだけれども、ビルドするとアセンブリ参照関係でエラーになる。どうもWindows用にビルドされたmonogame.dllを参照しているらしい。 というわけでMonogameのソースを持ってきてOSX上でビルドする。
  • GithubからMonoGameをクローンするかZIPファイルをダウンロード&解凍。 
  • MonoGame.Framework.MacOS.slnを開いて、Releaseモードでビルド。
MonoGame.Framework/bin/MacOS/Release/ にバイナリができている。MonoGameでプロジェクトを作る場合にこれらのDLLを参照するので、この場所をそのまま使用するか、ファイルを別の場所にコピーするなりする。
  • XamarinStudioでMonoGameの新規プロジェクトを作成。とりあえずMonoGame Mac Applicationで作成。
  • プロジェクトツリーのReferencesにあるMonoGame.Framework.dllは使えないので削除。
  • その代わり先ほど自分でビルドしたDLLをすべて参照に追加。
  • これでRunしてみると、logo asset云々でエラー。サンプルコードで使用するlogo.png画像がAssetとして扱われてないからなので、プロジェクトツリーでContent下にあるlogo.pngを選択して、プロパティウィンドウのBuildActionでBundleResourceを選択。
これで無事に起動! 
28 1

試しに簡単なアイテムが移動するだけのスクリーンセーバー的なものを作ってみたら、ちゃんと動いた。
https://www.youtube.com/watch?v=GDv0ogCUzJs

次はコンテントパイプラインをどうするかを調べてみる。 

iOSとAndroidでC#のAsyncが利用可能に - Xamarin日記

iOS とAndroidでC#のasync機能が使えるようになったようです。※ただしAlpah版。
49

以下の要素が追加された模様。

New .NET 4.5 APIs
これまでの歴史的な経緯でフレームワークの元になっていたのは、Silverlight実装でしたが、今回から.NET 4.5ベースに。

iOSでのジェネリックの改善
詳しくはよくわかりませんが、値型用に"Shareable code"?なるものを生成するとか。それによりこれまで実行時に"Attempting to JIT compile method"エラーになっていたものが動くようになるとのこと。
※この辺よく知らない、、、。

非同期処理用のSystem.Net.Http 
これって今までなかったのか。

デバッガの改善
色々細かい改善がされている模様。使ってれば気付くでしょう、とのこと。 

http://blog.xamarin.com/brave-new-async-mobile-world/
 
livedoor プロフィール
QRコード
QRコード
  • ライブドアブログ