イメージの利用とイベント処理 (5/6)
作成:2009-12-30 10:00
更新:2009-12-30 10:00
更新:2009-12-30 10:00
■イメージマップとは?
ここでは、縦横にずらっとイメージを並べた表示をしましたが、こうした「イメージをずらっと平面状に並べる」という処理は、特にゲームなどのプログラムでは多用されます。リバーシやチェスなどのボードゲームもそうですし、ドラクエ的なマップを移動するタイプのゲームでも用いられますね。
こういう「イメージを並べてマップを作る」という処理は非常に多用されるため、それを行うための便利クラスがDoJaには用意されました。それが「ImageMap」というものです。このイメージマップは、マップの各マス目の大きさ、縦横のマス目数、表示に用いるデータ(配列)、表示に使うイメージの配列といったものを指定することで、マップを自動生成するものです。これは、以下のような形でインスタンスを作成します。
new ImageMap( イメージの横幅, イメージの縦幅, 横の個数, 縦の個数,
int配列, Image配列 );
第5引数のint配列は、各マス目に表示するImageの値を配列にまとめたものです。これは、第6引数で指定したImage配列のインデックス番号で指定します。例えば、値がゼロなら、Image配列のゼロ番のイメージが表示される、というわけです。
また、先ほどは二次元配列でマップ情報を管理しましたが、このImageMapでは一次元のint配列で管理しています。これは、左上から順に、横方向にずらっとデータを並べたもの、と考えてください。例えば10×10なら、一番上の左から右に5つ、2列目の左から右に5つ……という具合にして計25個のデータを1つの配列にまとめてある、というわけです。
こういう「イメージを並べてマップを作る」という処理は非常に多用されるため、それを行うための便利クラスがDoJaには用意されました。それが「ImageMap」というものです。このイメージマップは、マップの各マス目の大きさ、縦横のマス目数、表示に用いるデータ(配列)、表示に使うイメージの配列といったものを指定することで、マップを自動生成するものです。これは、以下のような形でインスタンスを作成します。
new ImageMap( イメージの横幅, イメージの縦幅, 横の個数, 縦の個数,
int配列, Image配列 );
第5引数のint配列は、各マス目に表示するImageの値を配列にまとめたものです。これは、第6引数で指定したImage配列のインデックス番号で指定します。例えば、値がゼロなら、Image配列のゼロ番のイメージが表示される、というわけです。
また、先ほどは二次元配列でマップ情報を管理しましたが、このImageMapでは一次元のint配列で管理しています。これは、左上から順に、横方向にずらっとデータを並べたもの、と考えてください。例えば10×10なら、一番上の左から右に5つ、2列目の左から右に5つ……という具合にして計25個のデータを1つの配列にまとめてある、というわけです。
(by. SYODA-Tuyano.)
※プログラムリストが表示されない場合
AddBlockなどの広告ブロックツールがONになっていると、プログラムリスト等が表示されない場合があります。これらのツールをOFFにしてみてください。
●プログラム・リスト●
※イメージマップの作成 new ImageMap( イメージの横幅, イメージの縦幅, 横の個数, 縦の個数, int配列, Image配列 );
※関連コンテンツ