我正在创建一个游戏,玩家在其中向左和向右移动以避免障碍。由于某些原因,仅当两个相同类型的对象(玩家和玩家,障碍物和障碍物)碰撞时才触发碰撞事件。我尝试了许多不同的方法,但似乎没有任何效果。示波器有问题吗,如果可以,我该如何解决?我很困惑,谢谢。
我有一个播放器对象:
function newPlayer( )
local self= display.newImage( "rocket.png",screenWidth/2, screenHeight/1.25 )
local image_outline = graphics.newOutline( 2, "rocket.png" )
physics.addBody( self, "dynamic",{
outline=image_outline , density=1.0, friction= 0.3, bounce= 0.02} )
self.isSleepingAllowed= false
--more code in player object but thats all that is needed for this question
end
一个对象函数,它创建一对矩形并将其添加到整个障碍物组:
slalom= display.newGroup()
local leftWall= display.newRect( start-screenWidth/2, 0, screenWidth, 50 )
physics.addBody( leftWall, "static", {density=10,friction=0.2,bounce=.01} )
local rightWall= display.newRect( leftWall.x+(screenWidth)+width, 0, screenWidth, 50 )
physics.addBody( rightWall, "static", {density=10,friction=0.2,bounce=.01} )
slalom:insert( leftWall )
slalom:insert( rightWall )
self:insert(slalom)
我创建了一个运行时侦听器来感知冲突:
Runtime:addEventListener("collision", onCrash)