AndEngineで画像移動とイージングの利用

無事にAndEngineが入りAndroidアプリの開発環境が整う。
色々覚えることはあるけどこれで簡単に2Dゲームが作れますねー
2日3日で簡単なゲームならもう作れてしまう。すごい

何より一番うれしいのはお手軽に作れるとかいうことより
画面解像度を気にせずとも勝手に拡縮してくれることか。



さて書籍と、調べて出てくる「画像の移動」「イージング」の実装例や使い方がどうも若干鬼のように分かりづらい。
書籍の解説の丸コピだけを載っけてるページもいくつか見かけた。嘆かわしや。









イージングなるものは、
例えば「アイテムゲット!」みたいな文字の画像を
画面の右からぬっと出して画面中央でプレイヤーが見やすいよういったん止まり、
しばらくしたらするーっと画面左に消えていくような移動処理に付ける変化のこと。
画面外から出てきてそのあとずっと同じ速度で動いても見栄えがアレなので、
速度の緩急やアニメに変化を付ける「イージング」を入れると画面映えするよと。



本来なら速度緩急などはちょっと面倒な計算処理をぶち込まなきゃいけない。
例えば内部カウントcountを持たせ、常に毎フレーム+1させ
countが60以下ならspd*(count/60)で動かし…的な。
その辺AndEngineは関数を呼び出すとその処理を勝手にやってくれる。嬉しいね。


ただただ画面右からするーっと出て来て中央で止まる、という処理は
書籍にも例として載ってたので分かりやすいのだが、
その一回の動きだけじゃなくてそのあとも動かしたい場合、
いわゆる上記の例のような場合どうすればいいのかというのが細かく載ってない。
よーーく考えれば分かることではあるが、出来れば簡素に乗っけておいてほしかったのも事実。
というわけで一応覚書。




まずはイージングの前に画像の移動。
SpriteやAnimatedSpriteで画像オブジェクトを生成しておき、それに命令を下すことで勝手に動いてくれる。
行動順の予約みたいな感じ。

sprite.registerEntityModifier()
と、この引数にさせたい行動を入れる。


・「1秒」かけて、座標(0,0)から座標(200,300)へ
sprite.registerEntityModifier(new MoveModifier(1.0f,0,200,0,300));


・「2秒」かけて、xに200移動 yに-50移動
sprite.registerEntityModifier(new MoveModifier(2.0f,200,-50));



「順番に行動をさせたい」、つまりいくつかの行動予約をしたい場合は

sprite.registerEntityModifier(new SequenceEntityModifier(「内容」))
とする。
上記の例で行くと

sprite.registerEntityModifier(new SequenceEntityModifier(
     new MoveModifier(1.0f,480,240,50,50),//1秒かけて画面右から中央へ(数値は大体)
     new DelayModifier(2.0f),//2秒止まる
     new MoveModifier(1.0f,240,0,50,50),//1秒かけて画面中央から画面左へ
);

みたいな感じになる。


他、複数の行動、挙動を同時にさせる、永遠に繰り返すなどあるが
色々と弄れるのでやってて面白い。




肝心のイージングだが、今のままでは移動が等速なので
のっぺりとした印象を受ける。
最後の引数にEaseQuadIn().GetInstance()などを付けると、速度に緩急をつけることができる。

こんな感じで
new MoveModifier(1.0f,240,0,50,50,EaseQuadIn().GetInstance());


なんかこれに関しては非常に種類が多いので実際動かしてみるのが一番いいと思う。
速度緩急だけでなく、一回バックさせたり弾むアニメを付けられるものもあるようだ。


zenryoku.png

コメントの投稿

Secret

プロフィール

いすぃ

Author:いすぃ
ゲームを作ってたりゲームしてたり何もしてなかったりしてます

お仕事あれば請け負います。
ゲーム作ってみたい!とか初歩からプログラムやってみたい!って人もご一報ください。

ゲーム面白かったよ!
今後も応援するよ!などなどの意味で下記から心ばかりの支援をしていただけると本当に助かります。
Enty


twitter
ニコニココミュ
pixiv

最新記事
カテゴリ
最新コメント
最新トラックバック
月別アーカイブ
kaunta-
検索フォーム
リンク
スポンサードリンク