我有一个带箭头的滑块,用于操作/推进它。如果将鼠标悬停在箭头上,滑块会滑动。当您滚动/悬停箭头时滑块停止。问题是如果你快速地盘旋它仍然认为光标在箭头上方并继续滑动。有什么方法可以解决这个问题吗?
答案 0 :(得分:1)
解决方案取决于您使用的是ActionScript 2还是ActionScript 3.问题是Flash会逐帧执行操作,并且光标会在下一帧执行之前离开舞台。
如果您使用的是AS3,您只需要监听 Event.MOUSE_LEAVE 事件,该事件将在鼠标退出舞台时触发。然后,您可以在那里的事件处理程序中停止滑动。
如果您正在使用AS2,则没有类似的事件可供收听,最佳解决方案往往涉及运行一个enterframe来跟踪光标的位置/方向/速度。然后他们确定如果鼠标移动事件已经停止并且最后一个位置/方向/速度表明从舞台退出,他们可以假设鼠标已经离开,然后你可以停止滑动。