5

我在 as3 中设计了一个游戏亭应用程序我在 Windows 7 中的 Sony vaio l pc(如 hp 的 touchsmarts)上使用它该应用程序不需要任何多点触控手势(仅单点触控单击和拖动)所以我正在使用鼠标事件

一切都很好(包括鼠标单击和移动事件),除了单次触摸屏幕(没有移动)不会触发鼠标。仅在手指稍微移动后才会触发

在应用程序之外,在我的桌面上,我看到 Windows 7 的小光标立即跳到手指所在的位置,这意味着这个问题不是硬件或 Windows 问题,而是 Flash 应用程序内部如何接收“翻译的”触摸 -来自操作系统的鼠标事件。

例如,在 Windows 纸牌游戏中,对屏幕的简单触摸会立即突出显示触摸的卡片。在我的应用程序中,只有当我触摸它并稍微移动我的手指时,按钮才会变为向下状态(点击事件 - 向下和向上 - 触发正常)

MOUSE_DOWN 事件触发不应该与新的 touchevent 类中的 TOUCH_BEGIN 完全一样吗?

有任何想法吗?

4

3 回答 3

3

我遇到了同样的问题。

将该Multitouch.inputMode属性设置为MultitouchInputMode.TOUCH_POINT(默认值是在用户触摸MultitouchInputMode.GESTURE)屏幕MOUSE_DOWN时而不是在他们触摸并移动或触摸并释放时触发事件。

于 2012-01-24T17:19:27.710 回答
0

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

好吧,如果他们实际上是在拖动手指寻找东西,那么您可以假设 MOUSE_MOVE 突然将光标放在按钮上(没有事先的 MOUSE_MOVE,即拖动),它是 MOUSE_DOWN。

于 2010-08-16T16:50:32.263 回答
0

刚买了一个新的触摸屏,又遇到了这个问题。

因此,解决方案是通过在代码中的任何位置编写Multitouch.inputMode来设置:MultitouchInputMode.TOUCH_POINT

Multitouch.inputMode = MultitouchInputMode.TOUCH_POINT;

请注意,在 Flash Editor 中进行测试时它不起作用(至少在 CC 2015 中)。因此,例如,您需要在 Flash Player 中单独打开。Ctrl+Enter .SWF

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

于 2016-12-18T12:26:00.397 回答