私たちはMonoGameを使用して、iOSおよびWindows Phone 7(そして最終的にはAndroid)向けに開発しています。
私たちのゲームは横向きでのみ実行されます。
WindowsのWP7エミュレーターで実行している場合、ゲームのInitialize()でのグラフィックスデバイスのセットアップは次のようになります。
graphics = new GraphicsManager(this);
graphics.PreferredBackBufferWidth = 480;
graphics.PreferredBackBufferHeight = 320;
graphics.SupportedOrientations = DisplayOrientation.LandscapeLeft | DisplayOrientation.LandscapeRight;
これはWP7の正確な画面サイズではありませんが(現時点では右側に黒いバーがありますが、これは私たちの主な関心事ではありません)、iPhoneで実行できる適切な画面サイズを提供します。iPhoneですべてを正しく表示するには、バックバッファの幅と高さを逆にする必要がありますが、これは非常に奇妙に思えます。
また、ゲーム全体でX/Y座標と幅/高さを逆にする必要があることもわかりました。
これは対処するのに多くの問題です。ここでMonoGameは正確に何をしていますか?
これら2つのプラットフォーム間の見かけのサイズ変更を処理するために推奨されるものは何ですか?可能であれば、どういうわけか全面的に同じ座標を使用したいと思います。
編集:GitHub上のMonoGameの最新2.0バージョンには、向きの問題がなくなりました。
TouchPanelジェスチャはまだ完全には実装されていないため、これを回避しています。