addEventListener:只有一个对象触及endded阶段

时间:2013-10-26 22:32:42

标签: api events lua corona

我遇到addEventListener“touch”的问题。当两个或多个物体位于附近并且通过一次“触摸”激活时,仅一个物体击中末端相。

我尝试了什么:

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

1 个答案:

答案 0 :(得分:0)

你需要做一个:

return true

在函数末尾,如果不是,则事件传播到它下面的任何对象。这是设计的。只要在最后一个结束之前将该回报设为真,你就会得到妥善处理。