マクロとレイヤーの有効利用

1、レイヤー選択による画像の切り替え
2、データ出力

レイヤー選択による画像の切り替え

画像を変更するのは、イメージツールの[ファイル参照]から画像を選んで変更しています。
実際のゲームには複数のキャラクターやアニメーションパターンなどがあり、それぞれに当たり判定を付けなければなりません。
いちいち[ファイル参照]から画像を切り替えていたら面倒です。
そこで、マクロとレイヤーを使ってレイヤー選択ツールのレイヤーを変更するたびに画像を切り替える方法を説明したいと思います。

今仮に2D格闘ゲームのキャラクターのパンチ、キック、ガードの時の当たり判定を付けたいとします。
まず、パンチ、キック、ガードをしているキャラクターの画像を用意して、画像のファイル名をパンチ.bmp、キック.bmp、ガード.bmpとして下さい。

パンチ.bmp キック.bmp ガード.bmp

次に、レイヤーIDの計算式を#Layer0.SelectedIndex#にして、レイヤー0にパンチ、キック、ガードを設定してください。



OKを押しメイン画面にもどったら次にイメージツールの[フォルダ参照]をクリックして、パンチ、キック、ガードの画像があるフォルダを選択して下さい。



パスの欄に/#Layer0.SelectedName#.bmpという文字列を追加して下さい。



続いてレイヤー0のレイヤーをパンチに設定して下さい。



パンチの画像が表示されましたでしょうか?
では、レイヤーをキックに選択したらキックの画像が、レイヤーをガードに選択すればガードの画像を表示されるかも確認して下さい。
されないという方は、パスの欄が正しく画像ファイルの場所を表しているか確認してみて下さい。
パス名が長いと全体が表示されませんが、パス欄のテキストボックスにしばらくマウスをおくことで、
現在のパスの名前がツールヒント表示されるのでそちらで確認してみて下さい。

レイヤーを選択した時に画像を更新しなおすので、このようにマクロとレイヤーを使用するとスムーズに画像の切り替えができます。


データ出力

レイヤー選択による画像の切り替えで使用した画像に当たり判定を設定し、それをデータに出力して見ましょう。
できあがるデータの出力イメージはこんな感じです。



ではそれぞれの画像に当たり判定を赤色で設定して下さい。







設定できたら、プログラム編集画面に以下のプログラムを入力し、変換しましょう。

#Box[1][0][0].VertexMPPX#
#Box[1][0][0].VertexMPPY#
#$Box[1][0][0].W*2#
#$Box[1][0][0].H*2#

#Box[1][1][0].VertexMPPX#
#Box[1][1][0].VertexMPPY#
#$Box[1][1][0].W*2#
#$Box[1][1][0].H*2#

#Box[1][2][0].VertexMPPX#
#Box[1][2][0].VertexMPPY#
#$Box[1][2][0].W*2#
#$Box[1][2][0].H*2#

実際の画面は



そして[結果保存]でファイルに保存したら完成です。中身を確かめて下さい。

あなたの作るゲームがパンチ、キック、ガードの3パターンしかないなら上記のようなプログラムの記述でも構わないのですが、
実際にはもっと多くのパターンに当たり判定を付けたりするはずです。
パターンが増えるたびにプログラムの記述も増えては面倒なので、少しプログラムを変えてみます。
以下のプログラムでも同じ結果が出力できます。

#for(i=0;i<3;i++)#
#Box[1][i][0].VertexMPPX#
#Box[1][i][0].VertexMPPY#
#$Box[1][i][0].W*2#
#$Box[1][i][0].H*2#

#next#

実際の画面は



どうでしょうか?
これならいくらパターン数が増えてもfor文の条件式の"3"を変更するだけでいいはずです。
さらに変更するなら、その"3"を"Layer[][][].Count"に変更しても同じ結果になります。

このようにマクロとレイヤーをうまく利用するとスムーズに作業が進められます。