1

如何检测何时用两根手指完成了敲击?点击事件可以告知点击次数,但不能告知事件中涉及的触摸次数。有什么办法可以弄清楚吗?我在我的 Corona 应用程序中启用了多点触控。我有一个应用程序可以模拟单指点击的鼠标左键单击。并且,鼠标右键单击双击。

编辑

总结并希望澄清,我想:

  1. 用我的食指点击一次以模拟鼠标左键单击我的应用程序。也就是说,1 次触摸,1 次点击。
  2. 用我的食指和中指同时点击一次以模拟鼠标右键单击我的应用程序。即同时触摸2次,轻敲1次。

以下是 Corona 员工在他们的论坛中对我的问题所说的话: http ://forums.coronalabs.com/topic/35037-how-to-detect-two-finger-tap-in-corona

4

2 回答 2

0

就像 Corona 的 Brent Sorrentino 所说:你应该使用多点触控。

先看看这个http://docs.coronalabs.com/api/event/touch/id.html
已经可以自己动手了。这是我的实现:

system.activate( "multitouch" )

local object = display.newImage( "ball.png" )
object.numTouches = 0

function object:touch( event )
    if event.phase == "began" then
        display.getCurrentStage():setFocus( self, event.id )

        self.numTouches = self.numTouches + 1

    elseif event.phase == "cancelled" or event.phase == "ended" then
        if self.numTouches <= 1 then
            print( "This is a Left click" )
            --call your onLeftClickFunction here
        end

        if self.numTouches == 2 then

            print( "This is a Right click" )
            --call your onRightClickFunction here
        end
        self.numTouches = 0
        display.getCurrentStage():setFocus( nil )
    end
    return true
end
object:addEventListener( "touch", object )
于 2013-05-17T21:08:48.803 回答
0

你可以这样做:

function object:tap( event )
    if (event.numTaps >= 2 ) then
      print( "The object was double-tapped." )
    end
end
object:addEventListener( "tap" )

有关电晕中的对象/屏幕点击的更多详细信息,请参阅此...

继续编码............ :)

于 2013-05-16T10:57:35.283 回答