Lua 两个物体碰撞,其中一个应该消失而不影响另一个';s位置
当object1与object2碰撞时,我希望object2消失而不影响object1的位置或速度。Object1是动态的,object2是静态的。因此,这就像一个奖金对象击中我的主要对象,奖金对象应该消失而不影响任何东西 下面是我的碰撞函数代码:Lua 两个物体碰撞,其中一个应该消失而不影响另一个';s位置,lua,sdk,coronasdk,collision,Lua,Sdk,Coronasdk,Collision,当object1与object2碰撞时,我希望object2消失而不影响object1的位置或速度。Object1是动态的,object2是静态的。因此,这就像一个奖金对象击中我的主要对象,奖金对象应该消失而不影响任何东西 下面是我的碰撞函数代码: local function onCollision( self,event ) --if my object hits a bonus object if(event.object2.name == "bonus")
local function onCollision( self,event )
--if my object hits a bonus object
if(event.object2.name == "bonus")then
--self:setLinearVelocity(0,horizontal)
--I have tried the above method but every so often I receive an error
event.object2:removeSelf()
score = score*2
scoreText.text = score --sets the new score
Runtime:removeEventListener("enterFrame", event.object2)
else
composer.gotoScene( "restart" )
Runtime:removeEventListener("touch", onObjectTouch)
end
end
更新:
尝试将奖励对象设置为传感器,无论是在该区域,还是在初始化它们时
event.object2.isSensor = true
或
这应该允许在object2上进行物理和碰撞检测,而不会对其他对象产生任何影响。这并不能真正回答问题是object2正在消失,但它在碰撞时会使object1偏离轨道,这就是问题所在。
object2.isSensor=true
如果在创建对象时应用,将非常有用。如果在碰撞检查期间应用它,则它可能在检测到碰撞并且已影响object1之后才会生效
object2.isSensor = true