如何将所有物体从物理空间中删除

我正在做一个冠状病毒项目,现在我想从物理系统中移除所有的物体。

我发现它只有一种移除物体的方法,但不能全部移除。

physics.removeBody()

我需要全部移除,像这样

physics.removeAllBodies()

谁可以给我一种方法来实现这个。

谢谢

点赞
用户869951
用户869951

唯一的方法是在每次添加物理体时,将每个显示体添加到一个物理体表中:

local physicsDisplayObjects = {}

...

function scene:createScene(event)
    ...
    local displayObject1 = ... -- 显示对象
    physics.addBody(displayObject1, ...) -- 把它转换成物理体
    table.insert(physicsDisplayObjects, displayObject1)
    ...
end

...

function something()
    ...
    for i,obj in ipairs(physicsDisplayObjects) do
        physics.removeBody(obj) -- 把obj恢复为常规的显示对象
    end
    physicsDisplayObjects = {} -- 清除
    ...
end

...
2014-04-01 17:11:43