![](/img/trans.png)
[英]Corona SDK - Physics collision between 2 objects not working on device
[英]Corona sdk Physics objects not interact, but detect collision
我正在和一个收集硬币等东西的家伙做游戏。 我想检测这两者之间的碰撞,因此我可以取出硬币,但我不希望硬币与角色互动,因为现在它在稍微减慢他的速度。 不过,碰撞前它仍应与地面相互作用。 谢谢你的帮助!
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
您无法在碰撞处理过程中移除与碰撞有关的对象:请参阅碰撞事件页面上的“修改对象”。如所记录的那样使用timer.performWithDelay()
。这应防止硬币与玩家进行互动。如果这样做不起作用,则可以创建一个“鬼”对象,该对象随处可见(大小相同等位置但不可见)硬币,并作为传感器添加到物理中。传感器不会引起碰撞动态,但会触发事件。您还需要延迟如果需要去除硬币,则去除硬币。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.