Lua 物理对象不相互作用,但检测碰撞
我正在和一个收集硬币之类东西的家伙玩游戏。我想检测这两个角色之间的碰撞,这样我就可以移除硬币,但我不想让硬币与角色互动,因为现在它会稍微减慢角色的速度。但在碰撞之前,它仍应与地面相互作用。谢谢你的帮助Lua 物理对象不相互作用,但检测碰撞,lua,coronasdk,physics,Lua,Coronasdk,Physics,我正在和一个收集硬币之类东西的家伙玩游戏。我想检测这两个角色之间的碰撞,这样我就可以移除硬币,但我不想让硬币与角色互动,因为现在它会稍微减慢角色的速度。但在碰撞之前,它仍应与地面相互作用。谢谢你的帮助 function createCoin() for i = 1, 10 do coin = display.newCircle(0, 0, 16) coin.x = totallength - 1000 + i * 100 coin.y =
function createCoin()
for i = 1, 10 do
coin = display.newCircle(0, 0, 16)
coin.x = totallength - 1000 + i * 100
coin.y = totalheight - 200
physics.addBody(coin,
{bounce = 0, friction = 1, density = 0}
)
game:insert(coin)
coin.myName = "coin"
end
end
createCoin()
local function onCollision(event)
if event.phase == "began" then
if (event.object1.myName == "coin" and
event.object2.myName == "wheel") then
event.object1:removeSelf();
end
end
end
在冲突处理过程中,您无法删除冲突中涉及的对象:请参见第页的“修改对象”。请使用所述的
计时器。performWithDelay()
。这将阻止您的硬币与玩家交互。如果这不起作用,您可以创建一个跟随硬币的“幽灵”对象(相同大小的放置等,但不可见)并作为传感器添加到物理学中。传感器不会导致碰撞动力学,但会触发事件。如果需要移除硬币,您还需要延迟移除硬币。请澄清您的问题?主要问题是速度减慢吗?它是由摩擦
参数调节的。您可以根据使用event.contact.摩擦力
。Reference:,。据我所知,这是用于碰撞前处理的。谢谢,我使用硬币作为传感器,并使用另一个小物理体让它与地面交互。