2013年10月23日水曜日

#5 libGDX - 2D画像の表示libGDX (Tween)


前回、Tween を使ってカメラを動かしたので、
今回は、もう少し複雑な動きを試してみました。
下図のように、曲がりくねったコースの上に沿って赤い○が動きます。

コースのデータは Inkscape を使って、svgファイルを作成しプログラムで読み込み、
コースデータを作成しました。


Incscapeでコースを作成
プログラムからコースデータを抽出しやすくするため、"course"というIDをつけました。
コースデータを抽出するプログラムは以下のページを参考に作成しました。

参考サイト:SVG Path Traversal in Java

SVG Salamander でsvgデータを読み込みコースのpathデータを抜き出しています。
詳しくは、サンプルソースの PathUtil.java にて。

コースデータは以下のようなテキストデータにして assetsフォルダに配置しました。
x,y座標のかたまりです。

コースデータ:points.dat (抜粋)
448.000000 144.000000
447.624268 143.439697
447.247070 142.883759
446.868439 142.332184
446.488342 141.784973
446.106812 141.242065
445.723846 140.703491
445.339447 140.169189
444.953613 139.639160
444.566376 139.113403
444.177704 138.591858
443.787659 138.074554
 :

コースデータを読み込んで、Tweenを使って赤い○を移動させながら描画しています。

なぜか?等速に動かず、直線では早く移動し、カーブで減速する動きになってしまいました。
#これはこれで良いのですが、、、
もう少し、Tweenの使い方を工夫しないといけないみたいです。

0 件のコメント:

コメントを投稿