読者です 読者をやめる 読者になる 読者になる

赤宿 = Red Inn

素人の試行錯誤と2Dゲームプログラミング

Getting Started

Hello World

 4万強のPCを買った(Windows)。画面が悪いが、その他のすべてはとても良い。スピーカはあまり使わないためこだわらない。

ダウンロード

  • Visual Studio PCL関係のソフトやそれっぽいソフトと一緒にインストールしておく(30GBほどになった)。なければPCL関係のプロジェクトを読み込めず、エラーが出る。VSをアンインストールするとPCL関係のツールも消えるため注意。VSとは分けてインストールすることもできるらしい。

  • Xamarin Studio Mac/Linuxでも動くIDE。僕はこちらを使うけれど、使うのはMS Visual Studioでも良い。

  • MonoGame 低レベルのマルチプラットフォームフレームワークver.3.5をダウンロードする。今現在のNezはver.3.6に対応していない(MonoGameの一部APIが変わったため)。ver.3.6のMonoGameをインストールしていたり、間違ってPCLのMonoGameを参照していると、ビルドは成功するが、実行時にエラーが出る。〇〇が無い、〇〇がnullだ、など間接的なエラーとなる。

  • Nez 海外の人が個人で作ったフレームワーク(ドキュメントはココ)。MonoGame(or FNA)のPCLであり、MonoGame/FNAが対応しているプラットフォームで動く。僕はこれを使う。

Nez-Samplesをダウンロードする場合

 Nez-SamplesのSetupの指示に従う。もしもgit cloneコマンドを使うなら、Git Bushなどをインストールして使用する(Windowsの場合)。手動でNezをコピーしてプロジェクトに加えるのでも良い。

デバッグできない?

 Run without Debuggingなら動くが、デバッグで実行するとエラーが出る。調査中。

自分のプロジェクトを作る場合

MonoGameの設定

 Xamarinを起動後、ホームでツール > アドイン を選択して、MonoGameのアドインを検索して加える。これでMonoGameのプロジェクトテンプレートが手に入る。新規プロジェクトでは、MonoGame Cross Platform Project(=OpenGL版)を選ぶ。(Windows版、すなわちDirectX版にはNezが対応していないため注意。実行時にエラーが出る)。そのまま実行して青い画面のウィンドウが出れば、MonoGameの設定は成功している。

Nezの設定

 Nezをコピーして、自分のソリューションに参照を加える(Nez.Portable)。Nez.PipelineToolは実際のアプリでは使用しないため、他プロジェクトからは参照しない。

Pipeline ToolのSetup(必要ならば)

 Docsより

open the Pipeline Tool by double-clicking your Content.mgcb file and add references to PipelineImporter.dll, Ionic.ZLib.dll, Newtonsoft.Json.dll and Nez.dll.

 これはNez - Getting Started - YouTubeの16:10からで解説されている。僕は設定の仕方が分からなかったため見た。動画は拡大すればくっきりと見れる。

Be sure to set the Build Action to Content and enable the “Copy to output directory” property so they get copied into your compiled game.

T4 Templteの利用

 add > new file > T4 Template で追加したファイルに、NezのT4テンプレート(.tt)の内容をコピー。右クリックの Tools > Process T4 Templateでファイルを生成してくれる。

右クリックの add files からNezのt4テンプレートファイルを加えても動作しない。このとき、ファイル名の左にプラスマークが表示されている。T4テンプレートのファイルとしてプロジェクトに認識されていないようだが、どうすればいいのか…。

 T4テンプレートで使われるデフォルトのパスはcsprojファイルと同じ階層から始まっている。windowsならば"../“で一階層前に戻ることができるため、パスを書き換えてフォルダ分けできる。 未調査: T4の更新の自動化?

Hello World

 Nez-Samplesを参考にしてゲームを作る。さあ始まりだ!