|
用Flash AS3制作常见的柄图动画效果(6) var TG:MovieClip=e.target as MovieClip; var posX:int=getRPoint(0,0,D,D,TG.r).x; var posY:int=getRPoint(0,0,D,D,TG.r).y; if (TG.x==0 TG.y==0) { TG.removeEventListener(MouseEvent.MOUSE_DOWN,onMouseDownX); var tween1=new Tween(TG,"x",Bounce.easeOut,0,posX,1,true); var tween2=new Tween(TG,"y",Bounce.easeOut,0,posY,1,true); tween1.addEventListener(TweenEvent.MOTION_FINISH,onMotionFinish); } else { TG.removeEventListener(MouseEvent.MOUSE_DOWN,onMouseDownX); var tween3=new Tween(TG,"x",Bounce.easeOut,TG.x,0,1,true); var tween4=new Tween(TG,"y",Bounce.easeOut,TG.y,0,1,true); tween3.addEventListener(TweenEvent.MOTION_FINISH,onMotionFinish); } } private function onMotionFinish(e:TweenEvent):void { var TG:MovieClip=e.currentTarget.obj as MovieClip; TG.addEventListener(MouseEvent.MOUSE_DOWN,onMouseDownX); } private function getDarkColor(color:uint):uint { var r:uint=color >> 16 & 0xFF / 1.3; var g:uint=color >> 8 & 0xFF / 1.3; var b:uint=color & 0xFF /1.1; return r << 16 g << 8 b; } private function getRPoint(x0:Number,y0:Number,a:Number,b:Number,r:Number):Object { r=r * Math.PI / 180; return {x:Math.cos(r) * a + x0,y:Math.sin(r) * b + y0}; } public function get contain():Object { return __contain; } } }
|