マップスクロールのクラスができた
ネーミングはちょっとしっくりきていないのですが、MapChipViewerクラスを作りました。
こんな感じで動きます。⇒■
ソースはコチラ。⇒■
何やら使ってないクラスもありますが、主役は「mylib.system.map.MapChipViewer」です。
なんか妙な組み方になってますが、前よりキレイ。
今回は、XMLでマップデータを受け取るようにしました。
レイヤーごとに、スクロールスピードを設定でき、1を中心に遠近感を設定できます。
あと、1レイヤーに複数フレームのマップデータを設定することで、
animateTimeタグで設定したフレーム数再生されるごとにデータを切り替えるようにしました。
つまりこれでアニメーションさせられると。
サンプルでは奥の地形をアニメーションさせています。
XMLのタグ説明
タグ名 | 説明 |
---|---|
stageSize | データはこれより長くあっても、このサイズ以上の範囲は表示されません。(チップ単位) |
chipSize | マップチップ1つのサイズ(ピクセル単位) |
screenSize | 画面に一度の表示されるサイズ(チップ単位) |
layer | 1マップ |
scrollSpeed | 1を設定すると、cameraXに1プラスするごとに1ピクセル右が表示される。1以下でスピードダウン(遠景用)、1以上でスピードアップ(前景用)。 |
animateTime | 25なら、25回再生されるたびに表示されるframeが切り替わる。つまりアニメーションの再生速度。 |
frame | マップデータ。タブ区切りのCSVデータ。 |
説明が下手過ぎですが、雰囲気を感じとってもらえれば。
# 追記(20080523)
更新しました。