0

在我的应用程序中,我有一个带有 3 个事件侦听器的组件 - 用于 TOUCH_BEGIN、TOUCH_MOVE 和 TOUCH_END。但是由于某种原因,TOUCH_END 事件并不总是被调度。

我正在 iPod touch 第 4 代上进行测试并使用 AIR 3.8 SDK。

编辑:解决方案是听 touch_roll_out 和 touch_roll_over。在某些情况下,它将取代 touch_end 事件。在官方文档中阅读更多内容

4

1 回答 1

0

这能成为经典吗?TOUCH_END (和 MOUSE_UP) 应该从它发生的 DisplayObject in(over) 分派。如果在您离开添加了侦听器的对象时没有调度它 - 这可能是您的问题。

尝试stage.addEventListener(TouchEvent.TOUCH_END, onTouchEnd)而不是this.addEventListener代替。

如果您只需要跟踪单个 TouchEvents,建议您通过指定 MultitouchInputMode.NONE 来使用 MouseEvents - 众所周知,MouseEvents 在 CPU 使用率方面表现得更好。

你可以this.addEventListener(MouseEvent.RELEASE_OUTSIDE, onTouchEnd);在这种情况下使用。当 MOUSE_UP 发生在对象之外时,RELEASE_OUTSIDE 触发。

于 2013-08-04T23:04:37.483 回答