flash as 3.0怎么实现元件在点击拖动后,释放时回到点击的位置?

2024-10-31 08:20:00
推荐回答(3个)
回答1:

这个你首先得记录下元件的初始位置 然后加上鼠标按下的事件和鼠标抬起的事件 假如元件为mc
var posX:int=mc.x
var posY:int=mc.y

mc.addEventListener(MouseEvent.MOUSE_DOWN,mouseEvt);//鼠标按下的事件
mc.addEventListener(MouseEvent.MOUSE_UP,mouseEvt);//鼠标抬起的事件

function mouseEvt(e:MouseEvent)
{
if(e.type=="mouseDown")
{

mc.startDrag();//鼠标按下拖动

}
else if(e.type=="mouseUp")
{
mc.stopDrag();//鼠标抬起停止拖动,回到原始位置 你也可以在中间加过渡动画

mc.x=posX;

mc.y=posY;

}
}

回答2:

你创建两个数字变量,当元件被点击的时候,就分别记录元件原始的x坐标和y坐标呀,释放时给元件的x坐标和y坐标赋与原始值

回答3:

adeventlistener(event:mousevent)
{
mc.drag()
}
enterframe()
{
mc.x+=10;
mc.y+=10

if(mc.x=,mc.y=){
break;
}

}

嗯,大概可能也许就是这个样子吧!