Corona中的碰撞事件

我想知道如何在 Corona 中正确地使我的碰撞起作用。这是我目前所拥有的:

local function onLocalCollision( event )
 
    if ( event.phase == "began" ) then
 
        print( "began: " .. event.object1.myName .. " and " .. event.object2.myName )
        test =  display.newRect(screenW - 50, halfH, 100, screenH)
 
    elseif ( event.phase == "ended" ) then
 
        print( "ended: " .. event.object1.myName .. " and " .. event.object2.myName )
 
    end
end
 
lilPig.collision = onLocalCollision
lilPig:addEventListener( "collision", lilPig )
 
endOfScreen.collision = onLocalCollision
endOfScreen:addEventListener( "collision", endOfScreen )

如果你能帮助我,那就太棒了!先感谢你了!

点赞
用户2753334
用户2753334

我认为,首先您应该在碰撞物体上添加一些属性,例如:

lilPig.myName = "lilPig"

endOfScreen.myName = "endOfScreen"

这样,我们可以在碰撞侦听器中直接检查它们,如果我们还有更多的碰撞,我们可以通过另一个条件轻松检查。

我们也可以通过运行时侦听器来实现它。

——

RuntimeListener("collision", onCollision )

——

函数onCollision(event)
        if(event.phase ==“began”)then
        print(“COLLISION:“.. event.object1.myName ..“&”.. event.object2.myName)

            if(event.object1.myName ==“lilPig”并且event.object2.myName ==“endOfScreen”)或
                   (event.object1.myName ==“endOfScreen”并且event.object2.myName ==“lilPig”)then

                            print(“您的碰撞事件块的代码”)

结束
2014-02-24 07:37:54