API version 1

- ‐

R

number

time

アニメーション実行中の時間軸方向の相対的な位置を示します。

AnimationParameterクラスのfromプロパティの設定状態を0とし、toプロパティの設定状態が1となるような、アニメーション実行中の現在の進み具合を表す値を取得します。

animatingDirectionプロパティの値がDIRECTION_FORWARDの場合は、開始時に0となり終了時に1となるように値が単調に増加します。
animatingDirectionプロパティの値がDIRECTION_BACKWARDの場合は、開始時に1となり終了時に0となるように値が単調に減少します。
frameSkipプロパティの値がtrueの場合は、描画がされる毎に描画中にスキップされた回数を考慮した値が積算されます。そのため、timeプロパティの値にdurationプロパティの値をかけた値から、アニメーション実行開始からの経過時間を求めることができます。
frameSkipプロパティの値がfalseの場合は、描画がされる毎にintervalプロパティの値をdurationプロパティの値で割った値が積算されます。

関連項目

animatingDirectiondurationframeSkipintervalAnimationParameter.fromAnimationParameter.toプロパティ



使用例 CRSダウンロード

Form Animation_properties {
   X = 0;
   Y = 0;
   Width = 400;
   Height = 300;
   Button buttonStart {
           x = 8;
           y = 8;
           width = 104;
           height = 24;
           title = "実行";
           Function OnTouch( e ) {
                   #アニメーション実行状態を取得し、未実施時のみブロック内のCRSコードを実行します
                   if (!^.anim.isAnimating) {
                           ^.anim.start();
                   }
           }
   }
   Label labelAnimation {
           x = 120;
           y = 20;
           width = 100;
           height = 30;
           Title = "Animation Sample";
           bgColor = "#80FFFF";
   }

   Animation anim {
           #アニメーションの実行方向をALTERNATEに設定します
           direction = DIRECTION_ALTERNATE;

           #アニメーション実行時間を5秒に設定します
           duration = 5.0;

           #アニメーション実行時の数値変化パターンをSWINGに設定します
           easing = EASINGTYPE_SWING;

           #アニメーション中に描画が間に合わなくても描画をスキップしないようにします
           frameSkip = false;

           #アニメーション実行中の描画間隔を0.2秒に設定します
           interval = 0.2;

           function onProceed(e) {
                   #アニメーション実行中の実行方向、プロパティ変化量の相対量、相対時間を取得し表示します
                   print("animatingDirection=", (animatingDirection == DIRECTION_FORWARD ? "FORWARD" : "BACKWARD")
                     , ", position=", position
                     , ", time=", time);
           }

           AnimationParameter param {
                   target = ^.^.labelAnimation;
                   propertyName = "Y";
                   from = 20;
                   to = 260;
           }
   }
}