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
            }
                 
           
      }
     
}