1

2 本の指でタップが行われたことを検出するにはどうすればよいですか? タップ イベントは、タップの数を伝えることができますが、イベントに関与したタッチの数はわかりません。それを理解する方法はありますか?コロナ アプリでマルチタッチを有効にしました。1 本指のタップで左ボタンのマウス クリックをシミュレートするアプリケーションがあります。そして、二本指タップでマウスの右ボタンをクリックします。

編集

要約し、できれば明確にするために、次のことを行います。

  1. 人差し指で 1 回タップして、アプリの左ボタン マウス クリックをエミュレートします。つまり、1タッチ、1タップです。
  2. 人差し指と中指の両方で同時に 1 回タップして、アプリでマウスの右ボタン クリックをエミュレートします。つまり、同時に 2 タッチ、1 タップです。

以下は、フォーラムでの私の質問に対するコロナ スタッフの回答です

4

2 に答える 2

0

コロナのブレント・ソレンティーノが言ったように、マルチタッチを使用する必要があります。

まず、これを見てください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 に答える