Concept of Tween Proxy fladdict forked:0favorite:0lines:43license : MIT License modified : 2009-09-11 16:40:26 Embed Tweet package { import flash.display.Sprite; import caurina.transitions.*; import org.libspark.betweenas3.BetweenAS3; public class FlashTest extends Sprite { protected var wp:SpriteWrapper; public function FlashTest() { // write as3 code here.. var sp:Sprite = new Sprite(); sp.graphics.beginFill(0,1); sp.graphics.drawRect(-20,-20,40,40); sp.graphics.endFill(); sp.x = 240; sp.y = 240; this.addChild(sp); //Normal Tween //Tweener.addTween(sp,{rotation:360, time:5}); //Tweener.addTween(sp,{x:360, time:5}); //Using Wrapper //Tweener.addTween(new SpriteWrapper(sp),{radian:6.28, time:5}); //Tweener.addTween(new SpriteWrapper(sp),{scale:4, time:5}); Tweener.addTween(new SpriteWrapper(sp),{x:360, time:5}); //BetweenAS3.tween(new SpriteWrapper(sp),{x:40},null,5).play(); } } } import flash.display.Sprite; class SpriteWrapper{ protected var target:Sprite; public function SpriteWrapper(target:Sprite){ this.target = target; } /* --------------------------------------------- radian rotation --------------------------------------------- */ public function set radian(val:Number):void{ target.rotation = val*180/Math.PI; } public function get radian():Number{ return target.rotation * Math.PI / 180; } /* ---------------------------------------------- controll scaleX and scaleY at the same time ---------------------------------------------- */ public function set scale(val:Number):void{ target.scaleX = target.scaleY = val; } public function get scale():Number{ return target.scaleX; } /* ---------------------------------------------- rounded x ---------------------------------------------- */ public function set x(val:Number):void{ target.x = Math.round(val); } public function get x():Number{ return target.x; } } Code Fullscreen Preview Fullscreen BetweenAS3.scale rotation scaleX scaleY Math.round Math.PI Tweener.addTween time addChild Sprite Number