- Tweener : Public Static Method
使った印象として、
削除が重要だったりする。

削除が重要だったりする。

●addTween(scopes:Object , info:Object);
scopes 配列で複数指定可
info
* @param .time Number
Time in seconds or frames for the tweening to take (defaults 2)
デフォルトは2って書いてあるが、ソースを見ると、0だ。
* @param .delay Number
Delay time (defaults 0)
* @param .useFramesBoolean
Whether to use frames instead of seconds for time control (defaults false)
* @param .transitionString/Function
Type of transition equation... (defaults to "easeoutexpo")
内部ですべて小文字に変換しているので、大文字小文字を区別しません。
* @param .onStartFunction
* Direct property, See the TweenListObj class
* @param .onUpdateFunction
* Direct property, See the TweenListObj class
* @param .onCompleteFunction
* Direct property, See the TweenListObj class
* @param .onOverwrite Function
* Direct property, See the TweenListObj class
* @param .onStartParams Array
* Direct property, See the TweenListObj class
* @param .onUpdateParams Array
* Direct property, See the TweenListObj class
* @param .onCompleteParams Array
* Direct property, See the TweenListObj class
* @param .onOverwriteParams Array
* Direct property, See the TweenListObj class
* @param .roundedBoolean
* Direct property, See the TweenListObj class
* @param .skipUpdates Number
* Direct property, See the TweenListObj class
●addCaller(scope:Object , param : Object);
タイマー機能みたいなもの
paramのcount回数分だけ、onUpdateに指定した関数を実行してくれる。
●removeTweensByTime(scope , prop , startTime , completeTime):Boolean
追加されているscopeのpropertyが、startTimeとcompleteTime内の場合、tweenListObjを削除します。
addTween内でも、コンフリクト(重複)を避けるため、このメソッドを実行後、
新しいtweenListObjを追加しています。
●removeTweensByIndex(num:Number):Boolean
_tweenList配列に格納されいているnum番目のTweenlistObjを削除します。
●removeTweens(scope , ...args):Boolean
scopeの各argsプロパティのtweenを削除します。
...argsが空の場合は、scopeのすべてのtweenを削除します。
●removeAllTweens
すべて削除します。
下記はremove系を理解すれば、
想像できます。
●pauseTweenByIndex(num:Number);
●pauseTweens(scope:object, ...args);
●pauseAllTweens();
●resumeTweenByIndex(num:Number);
●resumeTweens(scope:object , ...args);
●resumeAllTweens();
●getTweenCount(scope:Object):Number;
scopeのプロパティで追加されているプロパティの数を返却します。
Shortcut用プロパティたとえば_scaleの場合は、
2が返却されます。
●isTweening(scope:Object):Boolean;
scopeオブジェクトに追加した有効なプロパティがあるがどうか返却します。
●getTweens(scope:Object):Array;
scopeのプロパティで追加されている有効なプロパティ名を返却します。
Shortcut用プロパティたとえば_scaleの場合は、
["scaleX" , "scaleY"]が返却します。
●getCurrentTweeningTime(scope:Object):Number
現在のトゥイーン時間を返却します。
Tweener.addTween(a , { param : 1 , time : , delay : 2 ,onUpdate : onUpdated})
function onUpdated():void{
trace(Tweener.getCurrentTweeningTime(a));
}
出力
2046
.
.
.
.
3051
●splitTweens(num:number , props:Array)
一つのtweenListObjをpropsに指定したプロパティごとにそれぞれ分割します。
●setTimeScale(spd:Number=1);
トランジションのスピードを変更できます。
delay(startTime),time(completeTime)の値が変更され、トランジションのスピードが変更されます。
この値で割り算されるので、
0.5 = 遅い, 1 = 標準, 2 = 早い
て感じです。
●registerTransition(name :String , func : Function);
トランジションを_transitionList配列に登録でき使用可能になります。
@see Equations.as
デフォルトでは、こんなにあるのだ。
Tweener.registerTransition("easenone",easeNone);
Tweener.registerTransition("linear",easeNone); // mx.transitions.easing.None.easeNone
Tweener.registerTransition("easeinquad", easeInQuad); // mx.transitions.easing.Regular.easeIn
Tweener.registerTransition("easeoutquad", easeOutQuad); // mx.transitions.easing.Regular.easeOut
Tweener.registerTransition("easeinoutquad", easeInOutQuad); // mx.transitions.easing.Regular.easeInOut
Tweener.registerTransition("easeoutinquad", easeOutInQuad);
Tweener.registerTransition("easeincubic", easeInCubic);
Tweener.registerTransition("easeoutcubic", easeOutCubic);
Tweener.registerTransition("easeinoutcubic", easeInOutCubic);
Tweener.registerTransition("easeoutincubic", easeOutInCubic);
Tweener.registerTransition("easeinquart", easeInQuart);
Tweener.registerTransition("easeoutquart", easeOutQuart);
Tweener.registerTransition("easeinoutquart", easeInOutQuart);
Tweener.registerTransition("easeoutinquart", easeOutInQuart);
Tweener.registerTransition("easeinquint", easeInQuint);
Tweener.registerTransition("easeoutquint", easeOutQuint);
Tweener.registerTransition("easeinoutquint", easeInOutQuint);
Tweener.registerTransition("easeoutinquint", easeOutInQuint);
Tweener.registerTransition("easeinsine", easeInSine);
Tweener.registerTransition("easeoutsine", easeOutSine);
Tweener.registerTransition("easeinoutsine", easeInOutSine);
Tweener.registerTransition("easeoutinsine", easeOutInSine);
Tweener.registerTransition("easeincirc", easeInCirc);
Tweener.registerTransition("easeoutcirc", easeOutCirc);
Tweener.registerTransition("easeinoutcirc", easeInOutCirc);
Tweener.registerTransition("easeoutincirc", easeOutInCirc);
Tweener.registerTransition("easeinexpo", easeInExpo); // mx.transitions.easing.Strong.easeIn
Tweener.registerTransition("easeoutexpo", easeOutExpo); // mx.transitions.easing.Strong.easeOut
Tweener.registerTransition("easeinoutexpo", easeInOutExpo); // mx.transitions.easing.Strong.easeInOut
Tweener.registerTransition("easeoutinexpo", easeOutInExpo);
Tweener.registerTransition("easeinelastic", easeInElastic); // mx.transitions.easing.Elastic.easeIn
Tweener.registerTransition("easeoutelastic", easeOutElastic); // mx.transitions.easing.Elastic.easeOut
Tweener.registerTransition("easeinoutelastic", easeInOutElastic); // mx.transitions.easing.Elastic.easeInOut
Tweener.registerTransition("easeoutinelastic", easeOutInElastic);
Tweener.registerTransition("easeinback", easeInBack); // mx.transitions.easing.Back.easeIn
Tweener.registerTransition("easeoutback", easeOutBack); // mx.transitions.easing.Back.easeOut
Tweener.registerTransition("easeinoutback", easeInOutBack); // mx.transitions.easing.Back.easeInOut
Tweener.registerTransition("easeoutinback", easeOutInBack);
Tweener.registerTransition("easeinbounce", easeInBounce); // mx.transitions.easing.Bounce.easeIn
Tweener.registerTransition("easeoutbounce", easeOutBounce); // mx.transitions.easing.Bounce.easeOut
Tweener.registerTransition("easeinoutbounce", easeInOutBounce); // mx.transitions.easing.Bounce.easeInOut
Tweener.registerTransition("easeoutinbounce", easeOutInBounce);
Tweenerが標準で利用できるtransitionは、すべて下記の引数をとります。
/*
* オリジナルのトランジションファンクション
* @param t Current time (in frames or seconds).
* @param b Starting value.
* @param c Change needed in value.
* @param d Expected easing duration (in frames or seconds).
* @return The correct value.
*/
public static function myTransition (t:Number, b:Number, c:Number, d:Number, p_params:Object = null):Number {
return -c *(t/=d)*(t-2) + b;
}
●その他,特殊プロパティの登録用のメソッドがあります。
registerSpecialProperty
registerSpecialPropertyModifier
registerSpecialPropertySplitter
こちらのメソッドは、
properties/***Shortcuts.asが利用しています。
ColorShortcuts
FilterShortcuts
SoundShortcuts
TextShortcuts
DisplayShortcuts
CurveModifiers
このクラスを参考にすれば、
***Shortcutsクラスを独自に作成し、
特殊プロパティを追加できます。
http://fladdict.net/blog/2008/03/tweenermovieclipmatrix_1.html#more
●まーつかわないだろー
updateTime();
updateFrame();
●これはprivateでいいだろー
onEnterFrame();
scopes 配列で複数指定可
info
* @param .time Number
Time in seconds or frames for the tweening to take (defaults 2)
デフォルトは2って書いてあるが、ソースを見ると、0だ。
* @param .delay Number
Delay time (defaults 0)
* @param .useFramesBoolean
Whether to use frames instead of seconds for time control (defaults false)
* @param .transitionString/Function
Type of transition equation... (defaults to "easeoutexpo")
内部ですべて小文字に変換しているので、大文字小文字を区別しません。
* @param .onStartFunction
* Direct property, See the TweenListObj class
* @param .onUpdateFunction
* Direct property, See the TweenListObj class
* @param .onCompleteFunction
* Direct property, See the TweenListObj class
* @param .onOverwrite Function
* Direct property, See the TweenListObj class
* @param .onStartParams Array
* Direct property, See the TweenListObj class
* @param .onUpdateParams Array
* Direct property, See the TweenListObj class
* @param .onCompleteParams Array
* Direct property, See the TweenListObj class
* @param .onOverwriteParams Array
* Direct property, See the TweenListObj class
* @param .roundedBoolean
* Direct property, See the TweenListObj class
* @param .skipUpdates Number
* Direct property, See the TweenListObj class
●addCaller(scope:Object , param : Object);
タイマー機能みたいなもの
paramのcount回数分だけ、onUpdateに指定した関数を実行してくれる。
●removeTweensByTime(scope , prop , startTime , completeTime):Boolean
追加されているscopeのpropertyが、startTimeとcompleteTime内の場合、tweenListObjを削除します。
addTween内でも、コンフリクト(重複)を避けるため、このメソッドを実行後、
新しいtweenListObjを追加しています。
●removeTweensByIndex(num:Number):Boolean
_tweenList配列に格納されいているnum番目のTweenlistObjを削除します。
●removeTweens(scope , ...args):Boolean
scopeの各argsプロパティのtweenを削除します。
...argsが空の場合は、scopeのすべてのtweenを削除します。
●removeAllTweens
すべて削除します。
下記はremove系を理解すれば、
想像できます。
●pauseTweenByIndex(num:Number);
●pauseTweens(scope:object, ...args);
●pauseAllTweens();
●resumeTweenByIndex(num:Number);
●resumeTweens(scope:object , ...args);
●resumeAllTweens();
●getTweenCount(scope:Object):Number;
scopeのプロパティで追加されているプロパティの数を返却します。
Shortcut用プロパティたとえば_scaleの場合は、
2が返却されます。
●isTweening(scope:Object):Boolean;
scopeオブジェクトに追加した有効なプロパティがあるがどうか返却します。
●getTweens(scope:Object):Array;
scopeのプロパティで追加されている有効なプロパティ名を返却します。
Shortcut用プロパティたとえば_scaleの場合は、
["scaleX" , "scaleY"]が返却します。
●getCurrentTweeningTime(scope:Object):Number
現在のトゥイーン時間を返却します。
Tweener.addTween(a , { param : 1 , time : , delay : 2 ,onUpdate : onUpdated})
function onUpdated():void{
trace(Tweener.getCurrentTweeningTime(a));
}
出力
2046
.
.
.
.
3051
●splitTweens(num:number , props:Array)
一つのtweenListObjをpropsに指定したプロパティごとにそれぞれ分割します。
●setTimeScale(spd:Number=1);
トランジションのスピードを変更できます。
delay(startTime),time(completeTime)の値が変更され、トランジションのスピードが変更されます。
この値で割り算されるので、
0.5 = 遅い, 1 = 標準, 2 = 早い
て感じです。
●registerTransition(name :String , func : Function);
トランジションを_transitionList配列に登録でき使用可能になります。
@see Equations.as
デフォルトでは、こんなにあるのだ。
Tweener.registerTransition("easenone",easeNone);
Tweener.registerTransition("linear",easeNone); // mx.transitions.easing.None.easeNone
Tweener.registerTransition("easeinquad", easeInQuad); // mx.transitions.easing.Regular.easeIn
Tweener.registerTransition("easeoutquad", easeOutQuad); // mx.transitions.easing.Regular.easeOut
Tweener.registerTransition("easeinoutquad", easeInOutQuad); // mx.transitions.easing.Regular.easeInOut
Tweener.registerTransition("easeoutinquad", easeOutInQuad);
Tweener.registerTransition("easeincubic", easeInCubic);
Tweener.registerTransition("easeoutcubic", easeOutCubic);
Tweener.registerTransition("easeinoutcubic", easeInOutCubic);
Tweener.registerTransition("easeoutincubic", easeOutInCubic);
Tweener.registerTransition("easeinquart", easeInQuart);
Tweener.registerTransition("easeoutquart", easeOutQuart);
Tweener.registerTransition("easeinoutquart", easeInOutQuart);
Tweener.registerTransition("easeoutinquart", easeOutInQuart);
Tweener.registerTransition("easeinquint", easeInQuint);
Tweener.registerTransition("easeoutquint", easeOutQuint);
Tweener.registerTransition("easeinoutquint", easeInOutQuint);
Tweener.registerTransition("easeoutinquint", easeOutInQuint);
Tweener.registerTransition("easeinsine", easeInSine);
Tweener.registerTransition("easeoutsine", easeOutSine);
Tweener.registerTransition("easeinoutsine", easeInOutSine);
Tweener.registerTransition("easeoutinsine", easeOutInSine);
Tweener.registerTransition("easeincirc", easeInCirc);
Tweener.registerTransition("easeoutcirc", easeOutCirc);
Tweener.registerTransition("easeinoutcirc", easeInOutCirc);
Tweener.registerTransition("easeoutincirc", easeOutInCirc);
Tweener.registerTransition("easeinexpo", easeInExpo); // mx.transitions.easing.Strong.easeIn
Tweener.registerTransition("easeoutexpo", easeOutExpo); // mx.transitions.easing.Strong.easeOut
Tweener.registerTransition("easeinoutexpo", easeInOutExpo); // mx.transitions.easing.Strong.easeInOut
Tweener.registerTransition("easeoutinexpo", easeOutInExpo);
Tweener.registerTransition("easeinelastic", easeInElastic); // mx.transitions.easing.Elastic.easeIn
Tweener.registerTransition("easeoutelastic", easeOutElastic); // mx.transitions.easing.Elastic.easeOut
Tweener.registerTransition("easeinoutelastic", easeInOutElastic); // mx.transitions.easing.Elastic.easeInOut
Tweener.registerTransition("easeoutinelastic", easeOutInElastic);
Tweener.registerTransition("easeinback", easeInBack); // mx.transitions.easing.Back.easeIn
Tweener.registerTransition("easeoutback", easeOutBack); // mx.transitions.easing.Back.easeOut
Tweener.registerTransition("easeinoutback", easeInOutBack); // mx.transitions.easing.Back.easeInOut
Tweener.registerTransition("easeoutinback", easeOutInBack);
Tweener.registerTransition("easeinbounce", easeInBounce); // mx.transitions.easing.Bounce.easeIn
Tweener.registerTransition("easeoutbounce", easeOutBounce); // mx.transitions.easing.Bounce.easeOut
Tweener.registerTransition("easeinoutbounce", easeInOutBounce); // mx.transitions.easing.Bounce.easeInOut
Tweener.registerTransition("easeoutinbounce", easeOutInBounce);
Tweenerが標準で利用できるtransitionは、すべて下記の引数をとります。
/*
* オリジナルのトランジションファンクション
* @param t Current time (in frames or seconds).
* @param b Starting value.
* @param c Change needed in value.
* @param d Expected easing duration (in frames or seconds).
* @return The correct value.
*/
public static function myTransition (t:Number, b:Number, c:Number, d:Number, p_params:Object = null):Number {
return -c *(t/=d)*(t-2) + b;
}
●その他,特殊プロパティの登録用のメソッドがあります。
registerSpecialProperty
registerSpecialPropertyModifier
registerSpecialPropertySplitter
こちらのメソッドは、
properties/***Shortcuts.asが利用しています。
ColorShortcuts
FilterShortcuts
SoundShortcuts
TextShortcuts
DisplayShortcuts
CurveModifiers
このクラスを参考にすれば、
***Shortcutsクラスを独自に作成し、
特殊プロパティを追加できます。
http://fladdict.net/blog/2008/03/tweenermovieclipmatrix_1.html#more
●まーつかわないだろー
updateTime();
updateFrame();
●これはprivateでいいだろー
onEnterFrame();
Trackback : 0 : Tweener : Public Static Method
http://www.onmyownlife.com/mt/mt-tb.cgi/25
Comment