as3中如何让影片剪辑移动到鼠标所点击的位置?
最近刚接触as3,想做一个在屏幕上移动的人物,但不知道如何让影片剪辑移动到鼠标所点击的位置?且在不移动的情况下,影片剪辑应留在影片剪辑中的第一帧。。。。。。。。。请高手赐...
最近刚接触as3,想做一个在屏幕上移动的人物,但不知道如何让影片剪辑移动到鼠标所点击的位置?且在不移动的情况下,影片剪辑应留在影片剪辑中的第一帧。。。。。。。。。请高手赐教,在线等
展开
1个回答
展开全部
不知道你所谓的移动是瞬移,还是慢慢的移动过去哦。
瞬移的话应该是这样。
stage.addEventListener(MouseEvent.CLICK,onClick);
function onClick(e:MouseEvent){
mc.x=mouseX;
mc.y=mouseY;
}
慢慢移动过去
var cx:int;
var cy:int;
stage.addEventListener(MouseEvent.CLICK,onClick);
function onClick(e:MouseEvent){
cx=mouseX;
cy=mouseY;
mc.addEventListener(Event.ENTER_FRAME,onMove);
}
function onMove(e:Event):void{
if(Math.abs(cx-mc.x)<1&&Math.abs(cy-mc.y)<1){
mc.removeEventListener(Event.ENTER_FRAME,onMove);
}else{
mc.x+=(cx-mc.x)/2
mc.y+=(cy-mc.y)/2
}
}
瞬移的话应该是这样。
stage.addEventListener(MouseEvent.CLICK,onClick);
function onClick(e:MouseEvent){
mc.x=mouseX;
mc.y=mouseY;
}
慢慢移动过去
var cx:int;
var cy:int;
stage.addEventListener(MouseEvent.CLICK,onClick);
function onClick(e:MouseEvent){
cx=mouseX;
cy=mouseY;
mc.addEventListener(Event.ENTER_FRAME,onMove);
}
function onMove(e:Event):void{
if(Math.abs(cx-mc.x)<1&&Math.abs(cy-mc.y)<1){
mc.removeEventListener(Event.ENTER_FRAME,onMove);
}else{
mc.x+=(cx-mc.x)/2
mc.y+=(cy-mc.y)/2
}
}
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询