两个物体碰撞了,其中一个应该消失而不影响另一个的位置。

当物体1与物体2相撞时,我希望物体2消失,而不影响物体1的位置或速度。物体1是动态的,物体2是静态的。因此,就像奖励物品撞击我的主物品一样,奖励物品应该消失而不影响任何东西。

这是我的碰撞函数的代码:

local function onCollision(self,事件)
        ——如果我的物品碰到奖励物品
        if(event.object2.name ==“bonus”)then
            ——self:setLinearVelocity(0,horizontal)
            ——我尝试了上面的方法,但是偶尔会出现错误
            event.object2:removeSelf()
            score = score * 2
            scoreText.text = score -设置新的得分
            Runtime:removeEventListener(“enterFrame”,event.object2)
        else
            composer.gotoScene(“restart”)
            Runtime:removeEventListener(“touch”,onObjectTouch)
        end
    end
点赞
用户5692250
用户5692250

更新:

尝试将你的奖励物品设置成传感器,可以在这个区域或初始化它们时进行设置。

    event.object2.isSensor = true

或者

    object2.isSensor = true

这样就可以在不影响其他物体的情况下,允许对象2上的物理和碰撞检测。

2015-12-18 14:48:23