2个回答
展开全部
//设被移动的物体为jumpmc,楼主有n个mc可能会被移动。以下as写在时间轴上.
var jumpmc:Sprite;
mc1.addEventListener(MouseEvent.CLICK,jump);
mc2.addEventListener(MouseEvent.CLICK,jump);
mc3.addEventListener(MouseEvent.CLICK,jump);
.
.
.
mcn.addEventListener(MouseEvent.CLICK,jump);
function jump(e:MouseEvent):void{
jumpmc=e.target;
}
this.addEventListener(MouseEvent.CLICK,jump2);
function jump2(e:MouseEvent):void
{
if (jumpmc){
jumpmc.x=mouseX;
jumpmc.y=mouseY;
jumpmc=null;
}
}
//以上只是简单的测试,直接输入的,可能有大小写或者标点符号有错误,我没有进行过测试。另外,你可以使用for循环给想要移动的物体增加监听。可以根据类似于childAt(),当然啦,每个输一次监听这样的笨办法也是可以的。
//此外,你要判断你鼠标是否点到了物体上,(为了避免重合,这个你可以进行判断),以及其他的。这只是一个基本的模块。 另外,还需要其他注意的地方,很有可能你使用不成功,这是由于相对坐标与鼠标坐标不同的原因。这个自己想办法解决吧。
var jumpmc:Sprite;
mc1.addEventListener(MouseEvent.CLICK,jump);
mc2.addEventListener(MouseEvent.CLICK,jump);
mc3.addEventListener(MouseEvent.CLICK,jump);
.
.
.
mcn.addEventListener(MouseEvent.CLICK,jump);
function jump(e:MouseEvent):void{
jumpmc=e.target;
}
this.addEventListener(MouseEvent.CLICK,jump2);
function jump2(e:MouseEvent):void
{
if (jumpmc){
jumpmc.x=mouseX;
jumpmc.y=mouseY;
jumpmc=null;
}
}
//以上只是简单的测试,直接输入的,可能有大小写或者标点符号有错误,我没有进行过测试。另外,你可以使用for循环给想要移动的物体增加监听。可以根据类似于childAt(),当然啦,每个输一次监听这样的笨办法也是可以的。
//此外,你要判断你鼠标是否点到了物体上,(为了避免重合,这个你可以进行判断),以及其他的。这只是一个基本的模块。 另外,还需要其他注意的地方,很有可能你使用不成功,这是由于相对坐标与鼠标坐标不同的原因。这个自己想办法解决吧。
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询