我正在学习 Corona SDK,并为此目的制作小项目。
所以,我的问题是下一个:我设法创建了 2 个物理对象,并在其中一个与另一个碰撞时使它们“爆炸”。我的问题是如何让其他物体(它施加了线性脉冲)在碰撞时停止?此外,当它停止时,必须将其从屏幕上移除以避免与其他物体发生碰撞......
这是在碰撞时移除第一个对象的部分:
nloDrop = function()
local nlo = display.newImageRect("nlo.png", 65, 25)
nlo.x = 35 + mRand(410) ; nlo.y = -60
physics.addBody(nlo, "dynamic", {density=1, bounce = 0, friction = 0, filter = {maskBits = 4, categoryBits = 2}})
nlo:applyLinearImpulse(0, 0.8, nlo.x, nlo.y)
nlo.isSensor = true
nlo.collision = nloCollision
nlo:addEventListener("collision", nlo)
nlo.name = "nlo"
toFront()
结尾
这是“碰撞”功能:
function nloCollision(self, event)
if ((event.other.myName == "weaponName") then
print("funkc")
self:removeSelf()
self:removeEventListener("collision", nlo)
self = nil
if weapon ~= nil then
-- stop moving of weapon
end
end
结尾
谢谢!