【ステップ1】ステージエディタの雛形

 ステージエディタプロジェクトの最初のステップはひな形です。
 StageEditor01というディレクトリ内のソリューションを開いてください。
 VisualStudio2015の場合はStageEditorVS2015.slnを、VisualStudio2017の場合はStageEditorVS2017.slnを開いてください。
 このソリューションを実行するにはMFCがあらかじめセットアップされている必要があります。
 またVisualStudio2017をお使いの方はWindows8.1SDKがセットアップされているか確認ください。

 ビルドして実行すると以下の画面が現れます。

 

図st01a

 

 この画面はオブジェクトの配置をする画面です。コントローラでカメラの回転をすることができます。また、中心に白い球があり、これはカメラの視点です。コントローラで移動することができ、ステージ内のどこにオブジェクトを配置するか見ることができます。
 カメラは寄ったり引いたりできます。これはh化のサンプルと同じです。
 さて、ここにゲームオブジェクトを配置して、それをデータとして保存できるようにします。
 保存形式はフルサンプル604で紹介したオブジェクトビルダーで利用できるxml形式のファイルです。
 オブジェクトビルダーのサンプルでは各ゲームオブジェクトにXMLのノードを渡して処理方法は各オブジェクトに任せます。
 この形式だと汎用性も高く、XMLなので保守性も高いと思います。
<>br />  さて、今回のサンプルStageEditor01ステージエディタの雛形です。ですから、目立った実装はされていません。
 しかしながら、BaseCrossのフルバージョンが持ってるすべて機能を利用することができます。
 表示されている黒い背景の画面は、ゲーム画面そのものです。ウインドウの枠やメニューがありますが、この画面の中はDirectX11の世界となっています。

 それでは、メニューのオブジェクト-新規追加を選択してみましょう。以下のダイアログがでます。

 

図st01b

 

 このように、何も配置されてないダイアログです。OKキャンセルでダイアログを終了します。

 これからこのひな型にステージエディタを実装していきます。
 実際にプログラミングするにはMFCの知識が必要かと思いますが、ネットにはいろんな情報がありますので、調べてみるといいと思います。
 このプロジェクトはMFCシングルドキュメントといいうのを使っています。ドキュメントビューアーキテクチャーは使用していません。
 MFCに精通している人であれば以上の情報でなんとなく構造がわかると思います。

 ここで紹介したサンプルはあくまで雛形なので、解説はこの辺にしておきます。詳しくはコードを読んでください。
 この後はステップ2に向けて、オブジェクトの配置ができるようにしたいと思います。
 その過程はStageEditor02というサンプルに実装していきます。
 まとまった段階でドキュメントを記述します。しばらくはGitHubの更新情報(コミット)を確認ください。