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();
}
本文介绍了一个使用Flash AS3.0实现的简单拖拽和缓动效果案例。通过Tween类实现元素跟随鼠标移动的缓动效果,并利用Sprite显示元素。文章详细展示了如何在鼠标按下时开始拖拽,在鼠标释放时触发缓动动画返回到鼠标位置。
2942

被折叠的 条评论
为什么被折叠?



