二次元マップを作ろう! (2/5)
作成:2012-10-21 10:36
更新:2012-10-21 10:36
更新:2012-10-21 10:36
■マップのイメージとマップデータ
ざっと流れを整理しましたが、おそらく引っかかるのは「マップのデータ」でしょう。マップデータとなる2次元配列は、「その場所に表示するイメージのフレーム番号」を指定します。
キャラクタを表示したとき、いくつものイメージを一列に並べて描いたイメージファイルを使用してキャラクタをアニメーションさせたのを思い出してください。マップも、あれと同じように各部品のイメージを一列に並べたものをイメージとして利用します。マップデータには、「何番のイメージを使うか」を示す番号を記述していくのです。
マップのイメージ例を下の図に表示しておきました。ここでは、4つのイメージを横一列に並べたものを用意してあります(サンプルとして、50×50ドットを4つ、計200×50ドットの大きさで作ってあります)。このようにして、マップで表示するイメージは作成します。
マップデータとなる2次元配列は、配列の中に配列が入った形をしています。各配列を改行して整理すると、だいたいマップの配置がわかるようになっています。例えば、こんな具合です。
下に掲載している、3×3のマップの表示例を見てください。サンプルで用意したマップデータが、上のようなマップデータでどのように表示されるのかがよくわかるでしょう。マップイメージとマップデータの関係がわかれば、マップデータをどのように用意すればいいかもわかってきますね?
キャラクタを表示したとき、いくつものイメージを一列に並べて描いたイメージファイルを使用してキャラクタをアニメーションさせたのを思い出してください。マップも、あれと同じように各部品のイメージを一列に並べたものをイメージとして利用します。マップデータには、「何番のイメージを使うか」を示す番号を記述していくのです。
マップのイメージ例を下の図に表示しておきました。ここでは、4つのイメージを横一列に並べたものを用意してあります(サンプルとして、50×50ドットを4つ、計200×50ドットの大きさで作ってあります)。このようにして、マップで表示するイメージは作成します。
マップデータとなる2次元配列は、配列の中に配列が入った形をしています。各配列を改行して整理すると、だいたいマップの配置がわかるようになっています。例えば、こんな具合です。
変数 = [配列の各値を見てください。このそれぞれの番号に、対応するイメージが表示される……と考えると、3×3のマップの表示がどうなるか、なんとんく想像がつくでしょう?
[0, 1, 2],
[0, 2, 1],
[0, 0, 0]
];
下に掲載している、3×3のマップの表示例を見てください。サンプルで用意したマップデータが、上のようなマップデータでどのように表示されるのかがよくわかるでしょう。マップイメージとマップデータの関係がわかれば、マップデータをどのように用意すればいいかもわかってきますね?
(by. SYODA-Tuyano.)
※プログラムリストが表示されない場合
AddBlockなどの広告ブロックツールがONになっていると、プログラムリスト等が表示されない場合があります。これらのツールをOFFにしてみてください。
※関連コンテンツ
「初心者のためのenchant.jsゲームプログラミング入門」に戻る