Concept of Tween Proxy
♥0 |
Line 43 |
Modified 2009-09-11 16:40:26 |
MIT License
archived:2017-03-10 00:22:27
ActionScript3 source code
/**
* Copyright fladdict ( http://wonderfl.net/user/fladdict )
* MIT License ( http://www.opensource.org/licenses/mit-license.php )
* Downloaded from: http://wonderfl.net/c/t7wk
*/
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;
}
}