私はコロナSDKを学んでおり、その目的で小さなプロジェクトを作っています。
だから、私の問題は次の問題です.2つの物理オブジェクトを作成し、そのうちの1つが他のオブジェクトと衝突したときに「爆発」させることができました。私の質問は、衝突時に他のオブジェクト (線形インパルスが適用されている) を停止させる方法です。また、停止するときは、他のオブジェクトとの衝突を避けるために画面から削除する必要があります...
衝突時に最初のオブジェクトを削除する部分は次のとおりです。
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
終わり
ありがとう!