Japanese | English | Korean

Samples

アニメーションの制御

ここでは、 AnimationController クラスを用いたアニメーションの制御について解説します。




AnimationController クラスはアニメーションの位置、速度やウェイトを制御しています。 setSpeed() メソッドを使用することによって、アニメーションの速度を変えることが可能です。

以下のサンプルコードでは、アニメーションの速度を停止から3倍速まで変更しています。

/**
  * private World myWorld;
  * private AnimationController redController;
  * private float animationSpeed;
  */

/* AnimationController オブジェクトの取得 */
redController = ( AnimationController ) myWorld.find ( 5 );

/* アニメーションのプレイバックスピード取得 */
animationSpeed = redController.getSpeed ();

( 中略 )

/* 回転速度変更 */
animationSpeed++;
/* 最大で3倍速 */
if ( animationSpeed > 3.f ) {
     animationSpeed = 0.f;
}
/* 回転速度設定 */
redController.setSpeed ( animationSpeed, 0 );

このとき、setSpeed() メソッドの第2引数である worldTime はシーケンス時間算出のための値です。ここでは「0」を指定し、速度変更後は再び初期位置からアニメーションを開始します。


Animation Controller 実行画面