BeTweenAS3のパラメーターを動的に変化させる(動的じゃない)

by alterna_in forked from BetweenAS3お試し-基本とonComplete (diff: 29)
むりやりにやってみた。
♥2 | Line 51 | Modified 2009-09-09 14:11:42 | MIT License
play

ActionScript3 source code

/**
 * Copyright alterna_in ( http://wonderfl.net/user/alterna_in )
 * MIT License ( http://www.opensource.org/licenses/mit-license.php )
 * Downloaded from: http://wonderfl.net/c/mrnk
 */

// forked from izm_design's BetweenAS3お試し-基本とonComplete
// むりやりにやってみた。
package
{
	import flash.display.Sprite;
	import flash.events.Event;
        import flash.events.MouseEvent;
	import org.libspark.betweenas3.BetweenAS3;
	import org.libspark.betweenas3.tweens.ITween;
	import org.libspark.betweenas3.events.TweenEvent;
	
        /**
	 * ...
	 * @author izm_design
	 */
	
        [SWF(backgroundColor="#FFFFFF", frameRate=30)]
	public class Main extends Sprite 
	{
		public var sp:Sprite;
		public function Main():void 
		{
			if (stage) init();
			else addEventListener(Event.ADDED_TO_STAGE, init);
		}
                
		private function init(e:Event = null):void 
		{
			removeEventListener(Event.ADDED_TO_STAGE, init);
			sp = new Sprite();
			sp.graphics.beginFill(0xff0000);
			sp.graphics.drawRect(10, 10, 10, 10);
			sp.graphics.endFill();
			addChild(sp);
			
                        stage.addEventListener(MouseEvent.CLICK,ClickHandler);
                        tweenUpdate(
                            Math.random() * 450,
                            Math.random() * 450
                        );
		}
                private function ClickHandler(e:MouseEvent):void{
                        tweenUpdate(
                            Math.random() * 450,
                            Math.random() * 450
                        );
                }
		private function tweenUpdate(_x:Number,_y:Number):void 
		{
                        var t:ITween=BetweenAS3.tween(sp,{x:_x,y:_y},{x:sp.x,y :sp.y});                    		
                        t.addEventListener(TweenEvent.COMPLETE,completeHandler);
                        t.play();
                }
                private function completeHandler(e:TweenEvent):void{
                        tweenUpdate(
                            Math.random() * 450,
                            Math.random() * 450
                        );
                 }
	}
	
}