2010-03-13 35 views
5

我设计了一个游戏亭应用程序as3 我在Windows 7 上使用它在Sony vaio l pc(如hp's touchsmarts)上,该应用程序没有需要任何多点触摸手势(只有单点触摸点击和拖动),所以我使用鼠标事件Adob​​e AIR:触摸屏不会正确触发鼠标停止事件

一切都很好(包括鼠标点击和移动事件),除了一个单一的触摸屏幕(不动)不要发射一只老鼠。它只会在手指稍微移动后触发,我的桌面上,我发现小窗口7光标会立即跳到放置手指的位置,这意味着此问题不是硬件或Windows问题,而是Flash应用程序如何从操作系统接收“已翻译”的触摸到鼠标事件。

例如,在一个Windows Solitaire游戏中,一个简单的触摸到屏幕上,立即突出了所触摸的卡片。 在我的应用程序,一个按钮将变为只有当我触摸它,也稍微移动我的手指向下状态(click事件 - 下,上 - 被触发罚款)

应该不是MOUSE_DOWN事件触发酷似如何一个TOUCH_BEGIN会在新的touchevent课堂上?

有什么想法?

回答

0

如果光标在触摸时发生移动,那么我假定操作系统只是将其注册为MOUSE_MOVE而不是MOUSE_DOWN。由于它是一个触摸屏,您可以考虑MOUSE_MOVE点击,因为用户可能实际上并没有在创建真正的MOUSE_MOVE事件时拖动手指。

那么,如果他们实际上正在拖动他们的手指,那么你可以假设一个MOUSE_MOVE,它突然将光标放在一个按钮上(没有以前的MOUSE_MOVE即拖动),这是一个MOUSE_DOWN。

3

我遇到了同样的问题。

Multitouch.inputMode属性设置为MultitouchInputMode.TOUCH_POINT(默认值是MultitouchInputMode.GESTURE)似乎使MOUSE_DOWN事件分派当用户触摸屏幕而不是当他们接触和移动或触摸和释放。

+1

这解决了我在使用Windows 8平板电脑时遇到的问题。谢谢! – marcelebrate 2013-09-05 20:26:02

+0

我遇到同样的问题?我应该在哪里改变这个选项?我找不到它 – tebdilikiyafet 2014-07-09 15:03:40

0

刚买了一个新的触摸屏并再次碰到的问题

因此,解决办法是在你的代码的任何地方写设置Multitouch.inputModeMultitouchInputMode.TOUCH_POINT

Multitouch.inputMode = MultitouchInputMode.TOUCH_POINT; 

请注意,在Flash编辑器(至少在CC 2015中)通过Ctrl+Enter进行测试时,它不起作用。因此,例如,您需要在Flash Player中分别打开.SWF

编辑:但它确实在调试模式下工作! (Ctrl+Shift+Enter