C#でWindows用のゲームを作ろうと思ったけれど、XNAは開発停止となったためどうしたものかなぁ・・といろいろ探していたら、
なにやら「MonoGame」というのが、XNAの資産もそのまま生かせつつクロスプラットフォームにも対応しているということだったので、試してみることにしました。
Windows7(64bit)での環境構築となります。
下準備
まずは、MonoGameをダウンロードして、インストール、プロジェクトを作成まで進めます。
- http://monogame.codeplex.com/からWindows用のインストーラーをダウンロード
- ダウンロードしたインストーラーを使ってインストール
- VisualStudioを起動してファイル⇒新規作成⇒新しいプロジェクトと選択
- 「インストールされたテンプレート」の「他の言語」を選択
- VisualC#を選択
- MonoGameを選択
- MonoGame Windows OpenGL Projectを選択
これでプロジェクトが作成できたかと思います。
プロジェクトの実行
プロジェクトを開いたら、あとは普通にビルドを通せば実行できると思いますが、いくつかエラーが出たりもしたので、以下メモです。
ビルドで何かエラーが出た
自分も出たのですが、なぜかVisualStudioを再起動後、もう一度ビルドをしたら通るようになってしまいました・・・。
ビルドしたら「SDL.dllが見つからない」と表示される
VisualStudioのソリューションエクスプローラーに「SDL.dll」と表示されている場合、そちらのショートカットを削除すると、ビルドが通るようになりました。
実行したらOpenAL関連で止まる
MonoGameをインストールしたときにOpenALのインストールにチェックをつけたような気がしたのですが、なにやら実行したらエラーが出ました。
DLLを入れないといけないようです。
- 「OpenAL32.dll」と「wrap_oal.dll」をネットで探してダウンロード
- 「C:¥Windows¥SysWOW64」に上記dllをコピー
- 再度プロジェクトを実行
以上でエラーが発生しなくなるはずです。
正常にビルドと実行ができれば、以下のような青背景のみのウィンドウが表示されます。