イージングのパラメータとして 他にもこんなのがありました。
rounded
トゥイーン中の数値に対して整数化するかどうかの指定。
trueで整数化、falseでそのままの値。
デフォルトはfalse。
useFrames
パラメータ「time」の単位を秒か、フレームかを指定
trueでフレーム、falseで秒。
デフォルトはfalse。
skipUpdates
トゥイーンのレンダリングを何フレームごとにするかの指定。
デフォルトは0で毎フレームごと。
イージングのパラメータとして 他にもこんなのがありました。
rounded
トゥイーン中の数値に対して整数化するかどうかの指定。
trueで整数化、falseでそのままの値。
デフォルトはfalse。
useFrames
パラメータ「time」の単位を秒か、フレームかを指定
trueでフレーム、falseで秒。
デフォルトはfalse。
skipUpdates
トゥイーンのレンダリングを何フレームごとにするかの指定。
デフォルトは0で毎フレームごと。
指定の値を通るベジェ曲線の軌道に沿ったトゥイーン
import caurina.transitions.Tweener;
import caurina.transitions.properties.CurveModifiers;
CurveModifiers.init();
ball.x =ball.y= 0;
Tweener.addTween(ball, {x:1000, y:500, _bezier:[{x:500, y:0}, {x:0, y:57}, {x:200, y:10}], time:5, transition:"linear"});
_bezierプロパティの配列に指定された順序にそった軌道を動作し、
最終的には通常のプロパティの値に収まります。
(ここではx=1000,y=500)
2行ほど宣言文が増えてるところが注意です。
一つのオブジェクトに複数の動作を連続でさせたいときです。
import caurina.transitions.Tweener;
ball.x=0;
ball.y=0;
Tweener.addTween(ball, {x:100, y:200, transition:"linear", time:1});
Tweener.addTween(ball, {x:200, y:0, transition:"linear", time:1,delay:1});
Tweener.addTween(ball, {x:0, y:0, transition:"linear", time:0,delay:2});
delayプロパティで時間差をつけて動かせばいいだけ。
用意されているイベントについてです。
まずはモーションが終わった後に、指定の関数を実行する方法です。
import caurina.transitions.Tweener;
ball.x = 0;
ball.y = 0;
Tweener.addTween(ball, {x:200, y:100, onComplete:hoge, onCompleteParams:[ball], time:1, transition:"linear"});
function hoge(_mc:MovieClip):void{
trace(_mc.x)
}
これで、モーション後のballの座標が出力されます。
onComplete
動作後に実行する関数名です。
onCompleteParams
上記onCompleteで指定した関数に渡す値です。
こちらは配列で渡すのでカンマ区切りで複数の引数にも対応しています。
その他、イベントに関するパラメータは以下の通り。
onCompleteScope
onCompleteで指定した関数のスコープ
onStart
動作が始まると同時に実行する関数
onStartParams
onStartで指定した関数に渡す値
onStartScope
onStartで指定した関数のスコープ
onUpdate
動作中に実行され続ける関数
onUpdateParams
onUpdateで指定した関数に渡す値
onUpdateScope
onUpdateで指定した関数のスコープ
onOverwrite
addTweenが同一オブジェクトの同一パラメータに対して多重に呼び出された時に実行する関数。
onOverwriteParams
onOverwriteで指定した関数に渡す値
onOverwriteScope
onOverwriteで指定した関数のスコープ
『transition』『time』『delay』はそれぞれ省くことができ
省略した時はデフォルトの値が代入されます。
各デフォルト値は
transition="linear" time=0 delay=0
です。
極端な話、
Tweener.addTween(ball, {x:100, y:200});
こんなのもちゃんと実行されます。
最近のコメント