API version 1

- ‐

RW

integer

direction

アニメーション実行時の数値変更の方向を指定します。


アニメーション実行時にAnimationParameterクラスのfromプロパティ、toプロパティで定義される数値をどちらの向きに変化させるかの方向を指定します。このプロパティを変更することで、アニメーションの逆再生が可能となります。


directionプロパティにDIRECTION_BACKWARDを設定した場合、easingプロパティの設定による数値変更パターンも逆になります。

例えば、easingプロパティにEASINGTYPE_IN、directionプロパティにDIRECTION_FORWARDを指定した場合は、最初はゆっくりと、最後になるに従って速くなるアニメーションになりますが、DIRECTION_BACKWARDを指定した場合は、最初は速く、最後になるに従ってゆっくりとなるアニメーションになります。

初期値はDIRECTION_FORWARDです。

関連項目

easingAnimationParameter.fromAnimationParameter.toプロパティ

定数一覧

------------------------------------------------------------

定数値

説明

DIRECTION_FORWARD

0:正方向のアニメーション(from設定値からto設定値へ移行するアニメーション)の方向です

DIRECTION_BACKWARD

1:逆方向のアニメーション(to設定値からfrom設定値へ移行するアニメーション)の方向です

DIRECTION_ALTERNATE

2:アニメーション実行毎に正逆の方向が入れ替わります



使用例 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;
           }
   }
}