flash as 3.0怎么实现元件在点击拖动后,释放时回到点击的位置?
3个回答
展开全部
这个你首先得记录下元件的初始位置 然后加上鼠标按下的事件和鼠标抬起的事件 假如元件为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;
}
}
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;
}
}
展开全部
你创建两个数字变量,当元件被点击的时候,就分别记录元件原始的x坐标和y坐标呀,释放时给元件的x坐标和y坐标赋与原始值
追问
原理知道,只是在弄的过程中,不是那么好赋值的,主要是我这个元件在移动,而且实在移动过程中来记录坐标的!
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
adeventlistener(event:mousevent)
{
mc.drag()
}
enterframe()
{
mc.x+=10;
mc.y+=10
if(mc.x=,mc.y=){
break;
}
}
嗯,大概可能也许就是这个样子吧!
{
mc.drag()
}
enterframe()
{
mc.x+=10;
mc.y+=10
if(mc.x=,mc.y=){
break;
}
}
嗯,大概可能也许就是这个样子吧!
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询