![]() ![]() ![]() | |
![]() | |
![]() | |
![]() |
Flash Player 6.
my_mc.tween(property, pEnd, seconds, animType, delay, callback, extra1, extra2)
property property(ies) to be tweened (string, array of strings)
pEnd end property value(s) (number, array of numbers)
seconds seconds to reach the end value, /duration of tween/ (number) defaults to 2
animType animation equation type (string, function or object from custom easing tool) defaults to "easeOutExpo"
string as animType
You can use following strings as types of animation (easing equations by Robert Penner)
"linear",
"easeInQuad","easeOutQuad","easeInOutQuad","easeOutInQuad"
"easeInCubic","easeOutCubic","easeInOutCubic","easeOutInCubic"
"easeInQuart","easeOutQuart","easeInOutQuart","easeOutInQuart"
"easeInQuint","easeOutQuint","easeInOutQuint","easeOutInQuint"
"easeInSine","easeOutSine","easeInOutSine","easeOutInSine"
"easeInExpo","easeOutExpo","easeInOutExpo","easeOutInExpo"
"easeInCirc","easeOutCirc","easeInOutCirc","easeOutInCirc"
"easeInElastic","easeOutElastic","easeInOutElastic","easeOutInElastic"
"easeInBack","easeOutBack","easeInOutBack","easeOutInBack"
"easeInBounce","easeOutBounce","easeInOutBounce""easeOutInBounce"
example:
my_mc.tween("_x",100,3,"easeOutElastic")
function as animType:
you can use easing function generator from Timothee Groleau to generate your function: e.g.:
waveEasing = function(t,b,c,d){ // ... code from generator }; my_mc.tween("_x",100,3,waveEasing);
object as animType:
you can use custom easing tool from menu window->other panels ->custom easing tool
object must have properties pts (list of control point),ease (function) e.g.:customEasing = {}; // ... copy and paste here generated code my_mc.tween("_x",100,3,customEasing);*this easing is bit slower than previous two methods
delay delay in seconds to start animation (number) defaults to 0
this parameter allows you create cool sequential tweens:
my_mc.('_x', 200,0.5);
my_mc.('_x', 400,0.5,'easeoutcirc',0.5)
my_mc.tween('_width', 300,1,'easeoutelastic',1);
my_mc.tween('_height', 300,1,'easeoutelastic',2);
my_mc.colorTo(0xFF0000,1,'easeinexpo',3);
callback function to be called when finished (function or object with scope, func and args or string)
function as callback
function onEnd(){ trace("onEnd"); } my_mc.tween("_x",100,1,"linear",0,onEnd);
// scope of function is my_mc._parent
object as callback
You can pass as callback object with properties
func - function to be called when tween is finished
scope - scope of function (this in called function)
args - array of arguments passed to function
updfunc - reference to function to be called on every update
updscope - scope of update function (this object)
updargs - array of arguments passed to update function
startfunc - reference to function to be called on start of tween
startscope - scope of start function (this object)
startargs - array of arguments passed to start function* internal mechanism is: func.apply(scope,args)
// on _root game={}; game.players = ["john","steve"]; game.showScore = function(id, score){ trace("(this==_root.game) is "+(this==_root.game)); trace(this.players[id] + " has " + score + " points"); } // somewhere in nested movieclip var callback = {scope: _root.game, func: _root.game.showScore, args:[1,39]}; my_mc.tween("_x",100,1,"linear",0,callback); /* or in 1 line: my_mc.tween("_x",100,1,"linear",0,{scope: _root.game, func: _root.game.showScore, args:[1,39]}); */ //output after finishing tween: (this==_root.game) is true steve has 39 points
string as callback
callbacks can be too defined as strings
my_mc.tween("_x",100,1,"linear",0,'_root.gotoAndPlay(8)');
it is very problematic determine type of primitive parameters(number, string, boolean), in this case is 8 string
for save type of passed argument use references:function callMe(my_obj, my_nr, my_bool) {
trace(my_obj +">> typeof(my_obj) is "+ typeof(my_obj));
trace(my_nr +">> typeof(my_nr) is "+ typeof(my_nr));
trace(my_bool +">> typeof(my_bool) is "+ typeof(my_bool));
}test_obj = {name: "test", id: 10};
test_bool = true;
test_nr = 99;my_mc.tween("_x",100,1,"linear",0,'_root.callMe(test_obj,test_nr,test_bool)');
Do not add spaces between argumets
extra1 optional animation parameter.
means AMPLITUDE (a) when animType *elastic
means OVERSHOOT AMMOUNT (s) when animType *back
extra2 optional animation parameter.
means PERIOD (p) when animType = *elastic
Nothing.
![]() | |
![]() | |
![]() | |
![]() ![]() ![]() |