我试图让对象跟随as3中的鼠标。 我的愿望是,当我滚动一个movieclip(btn1)时,我希望使对象跟随鼠标的功能(my_object)停止,直到我滚出它。 这是脚本:
btn1.addEventListener(MouseEvent.ROLL_OVER, JD);
function JD(event:MouseEvent):void{
stage.removeEventListener(Event.ENTER_FRAME, follow_me);
}
btn1.addEventListener(MouseEvent.ROLL_OUT, kk);
function kk(event:MouseEvent):void{
play();
}
stage.addEventListener(Event.ENTER_FRAME,follow_me)
function follow_me(event:Event):void {
var dx:int = bracketL.x - mouseX;
var dy:int = bracketL.y - mouseY;
my_object.x -= dx / 9+5;
my_object.y -= dy /9;
}
即使我翻过btn1,my_object也没有停止,它仍然跟着鼠标! 我该怎么办?
答案 0 :(得分:0)
使用不同的方法实现更流畅的动画,您可以创建一个输入框处理程序来检查paused
状态变量。
每个框架,您的对象都按照鼠标光标进行动画处理;但是,如果鼠标滚过按钮,对象将暂停跟踪鼠标。
代码:
import flash.events.Event;
import flash.events.MouseEvent;
var paused:Boolean = false;
addEventListener(Event.ENTER_FRAME, frameHandler);
button.addEventListener(MouseEvent.ROLL_OVER, buttonOverHandler);
button.addEventListener(MouseEvent.ROLL_OUT, buttonOutHandler);
function buttonOverHandler(event:MouseEvent):void
{
paused = true;
}
function buttonOutHandler(event:MouseEvent):void
{
paused = false;
}
function frameHandler(event:Event):void
{
if (!paused)
{
object.x -= (object.x - mouseX) * 0.1;
object.y -= (object.y - mouseY) * 0.1;
}
}