0

addEventListener の「タッチ」に問題があります。2つ以上のオブジェクトが近くにあり、1回の「タッチ」でアクティブ化された場合、1つのオブジェクトのみが終了フェーズにヒットします.

私が試したこと:

function theBall(event)
    local ball = event.target.id.id

    if event.phase == "began" then
        print("began")
        display.getCurrentStage():setFocus(event.target)
    end

    if event.phase == "ended" or event.phase == "cancelled" then
        print("ended")
        display.getCurrentStage():setFocus(nil)
    end

end

invisibleBall[ball]:addEventListener( "touch", theBall)

シミュレータ出力:

began
began
began
ended
4

1 に答える 1

0

次のことを行う必要があります。

return true

そうでない場合、イベントはその下のオブジェクトに伝播します。これは仕様によるものです。最後の end の前にその return true を入れるだけで、すべて面倒を見ることができます。

于 2013-10-28T00:21:35.340 に答える