MonoGame (私は Mac を使用しているため、XNA の代わりに使用します) をダウンロードして解凍すると、すべての MonoDevelop ソリューション ファイルの名前MonoGame.Framework.[PLATFORM NAME].sln
が[PLATFORM NAME]
、まあ、OS の名前になります。また、チュートリアルのコードはプラットフォームごとに異なるため、MonoGame アプリを別のマシンで実行するには、移植する必要があるようです。これは正しいです?もしそうなら、Xbox 360 で動作する Mono 用の XNA の他のバージョンはありますか? 私は MonoXNA を見たことがありますが、この記事の時点では使用できるほど成熟していないようです。
1 に答える
MonoGame は、複数のプラットフォームで XNA API を提供することにより、コードをクロスプラットフォームにします。(ただし、Flash や Java のように、コンパイルされたバイナリクロスプラットフォームは作成されません。)
MonoGame自体は、プラットフォームごとにバージョンがあるという意味で、クロスプラットフォームではありません。各バージョンには、そのプラットフォーム用の XNA API を実装するために必要なプラットフォーム固有のコードが大量に含まれているためです。
(実際には、かなりの量の MonoGame コードがクロスプラットフォームであり、異なる MonoGame バージョン間で共有されています。これは、MonoGame と同様に、Mono、OpenGL、OpenAL などのレイヤー上に構築されており、MonoGame のように、異なる基盤となる実装で一貫した API を提供するためです)プラットホームで。)
これは、Microsoft の公式の XNA 実装とまったく同じです。XNA ライブラリには 3 つの異なるバージョンがあります (Windows、Xbox 360、および Windows Phone)。それらはすべて XNA API を提供します。また、XNA API を使用するコードは、これらのプラットフォームのいずれでもビルドできます。
MonoXNA はかなり時代遅れであり、その有用なコードのほとんどはとにかく MonoGame に組み込まれています。
私の知る限り、Mono を使用して OSX で実行する現在の XNA 実装は他にありません。Mono を使用するExEnがありますが、iOS と Android のみです。
Xbox 360 で XNA を使用するための唯一のオプションは、Microsoft のバージョンを使用することです。しかし、これは MonoGame に対してコードをコンパイルすることを妨げるものではありません。