BaseTweener class : Usage example
package {
import com.yahoo.motion.easing.Elastic;
import flash.display.Sprite;
import com.yahoo.motion.BaseTweener
import com.yahoo.motion.TweenerEvent
import flash.filters.GlowFilter;
/**
* ...
* @author mr.hichem aka halfrobot
*/
public class BaseTweener_Example extends Sprite{
private var square:Sprite
private var tweener:BaseTweener;
var xTarget:Number
var yTarget:Number
var rotationTarget:Number
public function BaseTweener_Example()
{
createSquare()
tweener = new BaseTweener(square, new Array("x", "y", "rotation"), 1.5, Elastic.easeOut)
tweener.delay = 500 // delay = 0.5 seconde, default = 0
tweener.addEventListener(TweenerEvent.MOTION_FINISH, _onFinish)
_randomize()
tweener.tweenTo(new Array(xTarget, yTarget, rotationTarget))
}
private function _randomize()
{
xTarget = Math.random() * stage.stageWidth
yTarget = Math.random() * stage.stageHeight
rotationTarget = Math.random() * 360
}
private function _onFinish(e:TweenerEvent)
{
_randomize()
tweener.tweenTo(new Array(xTarget, yTarget, rotationTarget))
}
private function createSquare()
{
square = new Sprite()
square.graphics.beginFill(0x555555, 1)
square.graphics.lineStyle(5,0xff0099)
square.graphics.drawRoundRect(-25, -25, 50, 50, 10, 10)
square.graphics.endFill()
square.filters = new Array(new GlowFilter(0x000000,0.5,6,6,1,2))
this.addChild(square)
square.x = stage.stageWidth / 2
square.y = stage.stageHeight / 2
}
}
}