在我的应用程序中,我有一个包含3个事件监听器的组件 - 用于TOUCH_BEGIN,TOUCH_MOVE和TOUCH_END。但是TOUCH_END事件并不总是因某种原因而被派遣。
我正在测试iPod touch第4代并使用AIR 3.8 SDK。
编辑: 解决方案是监听touch_roll_out和touch_roll_over。 在某些情况下,它将取代touch_end事件。阅读官方文档中的更多内容
答案 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会触发。