書き物

技術とか作った物の話とか愚痴文句感想など

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

ネーミングはちょっとしっくりきていないのですが、MapChipViewerクラスを作りました。

こんな感じで動きます。⇒

ソースはコチラ。⇒

何やら使ってないクラスもありますが、主役は「mylib.system.map.MapChipViewer」です。

なんか妙な組み方になってますが、前よりキレイ。


今回は、XMLでマップデータを受け取るようにしました。

レイヤーごとに、スクロールスピードを設定でき、1を中心に遠近感を設定できます。

あと、1レイヤーに複数フレームのマップデータを設定することで、

animateTimeタグで設定したフレーム数再生されるごとにデータを切り替えるようにしました。

つまりこれでアニメーションさせられると。

サンプルでは奥の地形をアニメーションさせています。


XMLのタグ説明

タグ名説明
stageSizeデータはこれより長くあっても、このサイズ以上の範囲は表示されません。(チップ単位)
chipSizeマップチップ1つのサイズ(ピクセル単位)
screenSize画面に一度の表示されるサイズ(チップ単位)
layer1マップ
scrollSpeed1を設定すると、cameraXに1プラスするごとに1ピクセル右が表示される。1以下でスピードダウン(遠景用)、1以上でスピードアップ(前景用)。
animateTime25なら、25回再生されるたびに表示されるframeが切り替わる。つまりアニメーションの再生速度。
frameマップデータ。タブ区切りのCSVデータ。

説明が下手過ぎですが、雰囲気を感じとってもらえれば。


# 追記(20080523)

更新しました。

マップスクロール結果を他のオブジェクトの座標に反映させる - 書き物