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 );
* 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 実行画面

