我一直在研究这个。在这种情况下,我有一个名为“mcBall”的影片剪辑对象。我用补间设置了两个按钮“btnLeft”和“btnRight”,这样 mcBall 将在两点之间平滑地缓和。工作正常,但问题在于这两个按钮仍然处于活动状态,如果用户单击任一按钮,当然球会像预期的那样回到起点。我的问题是……在“mcBall”对象移动时停用按钮的最佳方法是什么。最好为按钮使用 removeEventListener 然后再次添加它。使用“If (mcBall.x = >=81 || <=469) removeEventListener”之类的 if 语句会更好吗?也许使用 tweenEvent。
任何帮助将不胜感激。谢谢
使用 Flash cs3
在这段代码中,我设法关闭了一个按钮,以便在球移动时它保持非活动状态,而另一个按钮仍处于活动状态。我不确定 removeEventListener 的位置。
import fl.transitions.Tween;
import fl.transitions.easing.*;
function moveBallRight(evt:MouseEvent):void {
var moveBall:Tween=new Tween(mcBall,"x",Regular.easeOut,80,470,4,true);
btnRight.removeEventListener(MouseEvent.CLICK,moveBallRight);
btnLeft.addEventListener(MouseEvent.CLICK,moveBallLeft);
}
btnRight.addEventListener(MouseEvent.CLICK,moveBallRight);
function moveBallLeft(evt:MouseEvent) {
var moveBall:Tween=new Tween(mcBall,"x",Regular.easeOut,470,80,4,true);
btnRight.addEventListener(MouseEvent.CLICK,moveBallRight);
btnLeft.removeEventListener(MouseEvent.CLICK,moveBallLeft);
}
btnLeft.addEventListener(MouseEvent.CLICK,moveBallLeft);