2014年4月30日水曜日

【AndEngine】スプライトのドラッグ

AndEngineで遊び始めている.
ツールを何種類か公開してみてゲームも作りたいと思い
当初はUnityをやろうかなと思ったのだが
クラス構造がいまいちよくわからなかったので
eclipse上でそのままAndroidプロジェクトとして使えるAndEngineに逃げてきた.

そこで,まず動作の確認として
Spriteを表示してタップ&ドラッグを実装しようとしてみた.
つまり画像を指で動かすということだな!

オブジェクト指向のナチュラルな考え方として
スプライトごとに動作をつける.
Sprite.setOn~~~
なんてのがあればこれが一番と思ったが
とくになさそう.

その代わり
Spriteが継承するShapeクラスにonAreaTouchedメソッドがある.
Sprite範囲内をタッチされていると呼ばれるメソッドだ.
Spriteを匿名クラスとして実装すればコレが使えるので

(_touchX, _touchYはクラスフィールド)
(sceneはSceneのオブジェクト)

こんなかんじにできあがった.
setTouchAreaBindingOnActionDownEnabled (true)がなければ ドラッグの速度が速いときにSpriteの範囲から外れてしまい
Spriteが追従してくれないことになる.

0 件のコメント:

コメントを投稿