使ったのは前にも書きましたが、有名なPlatinumを使わせて頂きました。
http://www.vector.co.jp/soft/win95/game/se231004.html
大抵のマップエディタは、画像(マップチップ)を用意してそのマップチップをエディタ上で
パズルのように組み合わせることでマップを描くためのツールです。
出来上がったマップのデータは、マップチップの番号が入った配列データに情報ヘッダをつけて
書き出したバイナリファイルで、これをプログラムで読み込んでマップを表示に使います。
「C言語~ゲームプログラミングの館~の24. 行けない所を作る。~2D~」
http://dixq.net/g/26.html
にある配列とイメージ的には近いですが、1か0しか入っていない配列ではなくマップチップの
番号になると考えてください。
[上画像のマップのマップデータ 16進]
3C 49 49 49 49 49 49 49 49 49 49 49 49 49 49 49 49 49 49 3C
3C 59 59 59 59 59 59 59 59 59 59 59 59 59 59 59 59 59 59 3C
3C 06 06 06 06 06 06 06 06 06 06 06 06 06 0C 0C 06 06 0C 3C
3C 06 06 48 48 48 48 48 06 0C 0C 06 06 06 06 06 06 06 06 3C
3C 06 06 48 58 58 58 48 06 06 06 06 06 06 06 06 06 06 06 3C
3C 06 06 48 FF 68 FF 48 06 06 06 06 06 06 06 06 06 06 06 3C
3C 06 06 48 48 68 48 48 06 06 3B 48 48 48 48 48 06 06 06 3C
49 06 06 58 58 68 58 58 06 06 48 58 58 58 58 48 06 06 06 3C
59 06 06 06 06 78 9A 06 06 8A 58 68 68 68 68 48 06 06 0C 3C
78 78 78 78 78 78 78 78 78 78 68 68 68 68 68 48 06 0C 06 3C
78 78 78 78 78 78 78 78 78 78 68 68 68 4E 4E 48 06 0C 06 3C
3C 06 06 06 06 06 06 06 06 06 3B 68 68 5E 5E 48 06 06 06 3C
3C 06 06 06 06 06 06 06 06 06 48 48 48 48 48 48 06 06 06 3C
3C 06 DB FC FC FC DD 06 06 06 58 58 58 58 58 58 06 06 06 3C
3C 06 EB 8B 8B 8B EB 06 06 06 06 06 06 06 06 06 06 06 06 3C
3C 06 EB 8B 8B 8B 06 06 06 06 06 06 06 06 06 06 06 06 06 3C
3C 06 EB 8B 8B 8B EB 06 0C 0C 06 06 06 06 06 06 06 06 06 3C
3C 06 FB FC FC FC ED 06 06 06 06 06 06 06 06 06 0C 0C 06 3C
49 49 49 49 49 49 49 49 49 49 49 49 49 49 49 49 49 49 49 49
59 59 59 59 59 59 59 59 59 59 59 59 59 59 59 59 59 59 59 59
このマップチップの番号からマップチップ画像の座標を求めて、これを画面に
DrawRectGraph()で書き出します。
こちらがマップチップ画像で例えば3Cだと上から4番目で左から12番目のパーツになりますね。 このマップエディタは、レイヤー(階層)機能があるので、それを使って3つのレイヤーを使います。
1.マップデータのレイヤー、上で解説したマップチップ番号の入ったレイヤーです。
2.地形の当たり判定レイヤーで、進入禁止を指定します。
3.イベント設定レイヤー。キャラクタの発生ポイントやイベントの発生ポイントを指定します。
この画像がレイヤーを3つ重ねた画像です。
Xマークが歩けない進入禁止マークで、白いところがイベントのポイントです。 ちなみに、このマップはTKOZさんのものと差し替える予定ですので最終的に違うものとなります。
簡単RPGと言いながら、少々本格的なマップを搭載しましたが、マップづくりはRPGの作業の
中でも労力がかかる部分ですのでツールを積極的に活用していきましょう。
と言うことで、次回はプログラムの解説に入ります。