マップスクロールのクラスができた

ネーミングはちょっとしっくりきていないのですが、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)
更新しました。
マップスクロール結果を他のオブジェクトの座標に反映させる - 書き物