Tweener is a static class - that is, a class that allows you to run methods on it, or call its properties, but that never lets you create instances from it. This means that, with Tweener, you never create a new object - you simply tells Tweener to do something for you.
Download the
Tweener class?
Click here
View
Tweener class documentation?
Click here
Compare the codes that were created by traditional ActionScript and Tweener class.
Using traditional ActionScript:
var myTween:Tween = new Tween(box1, "x", Elastic.easeOut, -300, 0, 3, true);
var myTweenAlpha:Tween = new Tween(box1, “alpha”, Strong.easeOut, 0, 0.2, 3, true);
Using Tweener class:
Tweener.addTween(box1,{x:0, alpha:0.2, y:0, time:tweenTime, transition:"linear", delay:0});
The two ways did the same thing. That is, move the "box1" to (0,0), then change property of alpha to 0.2. But using Tweener class is more simple, and you don't need to create tween object.
The codes for using the Tweener class:
package{
import flash.display.Sprite;
import fl.transitions.Tween;
import fl.transitions.easing.*;
import fl.transitions.*;
import flash.events.*;
import caurina.transitions.Tweener; // import the Tweener class
import caurina.transitions.properties.FilterShortcuts; // import the Filter property for the Tweener
public class MyTweener extends Sprite{
public function MyTweener(){
this.play();
}
public function play():void{
FilterShortcuts.init(); // init the Filter property class
var box1:MovieClip = new Box();
stage.addChild(box1);
var box2:MovieClip = new Box();
stage.addChild(box2);
var delay:Number = 0;
var tweenTime:Number = 0.5;
Tweener.addTween(box1,{x:0, alpha:0.2, y:0, time:tweenTime, transition:"linear", delay:0});
Tweener.addTween(box2,{x:0, y:0, alpha:0.2, time:tweenTime, transition:"linear", delay:0 });
Tweener.addTween(iphone,{_Blur_blurX:10, delay:0}); // _Blur_blurX is a Filter property
delay += tweenTime;
Tweener.addTween(iphone,{_Blur_blurX:0, delay:delay});
Tweener.addTween(iphone,{x:300/2-iphone.width/2/2, y:300/2-iphone.height/2/2, rotation:360, scaleX:0.5, scaleY:0.5, time:tweenTime, transition:"easeinquart", delay:delay });
delay += tweenTime;
Tweener.addTween(iphone,{x:300/2-iphone.width/2, y:300/2-iphone.height/2, scaleX:1, scaleY:1, time:3, transition:"easeInOutBack", transitionParams:{overshoot:2}, delay:delay });
delay += 1.5;
Tweener.addTween(box1,{x:-300, y:0, alpha:0.2, time:tweenTime, transition:"linear", delay:delay });
Tweener.addTween(box2,{x:600, y:0, alpha:0.2, time:tweenTime, transition:"linear", delay:delay, onComplete: showReplayBtn });
}
public function showReplayBtn():void{
var btn1:ReplayButton = new ReplayButton();
stage.addChild(btn1);
btn1.x = 270;
btn1.y = 280;
btn1.addEventListener(MouseEvent.CLICK, onClickReplayBtn);
}
public function onClickReplayBtn(e:Event):void{
e.target.visible = false;
this.play();
}
}
}