未分派Adobe AIR TOUCH_END事件

时间:2013-08-04 09:55:17

标签: ios actionscript-3 air

在我的应用程序中,我有一个包含3个事件监听器的组件 - 用于TOUCH_BEGIN,TOUCH_MOVE和TOUCH_END。但是TOUCH_END事件并不总是因某种原因而被派遣。

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

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

1 个答案:

答案 0 :(得分:0)

这可能是经典吗? TOUCH_END(和MOUSE_UP)应该从它发生的(过)中的DisplayObject中调度。如果你在添加了监听器的情况下离开了对象时没有被调度 - 这可能是你的问题。

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

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

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