import flash.events.Event; import flash.events.MouseEvent; import flash.display.Sprite; import fl.transitions.Tween; import fl.transitions.easing.*;
//听说shape比sprite节省资源 var circle:Sprite=new Sprite(); circle.graphics.beginFill(0); //试着把circle.graphics.drawCircle(100,100,10)发现每次偏移,说明每次startDrag()方法会重绘 circle.graphics.drawCircle(0,0,10); circle.graphics.endFill(); stage.addChild(circle); var t:Tween=new Tween(circle,"y",Bounce.easeOut,mouseY,stage.stageHeight-circle.height/2,5,true); //先保持不动,等停止拖动再触发缓动 t.stop(); circle.x=100; circle.y=100; circle.addEventListener(MouseEvent.MOUSE_DOWN,startdrag); circle.addEventListener(MouseEvent.MOUSE_UP,stopdrag); function startdrag(e:MouseEvent):void{ t.stop(); circle.startDrag(true); } function stopdrag(e:MouseEvent):void{ circle.stopDrag(); t.start(); }