Sdk 科罗纳“;尝试删除已删除的对象";

Sdk 科罗纳“;尝试删除已删除的对象";,sdk,lua,coronasdk,lime,Sdk,Lua,Coronasdk,Lime,我正在做一个简单的“突破”游戏,在重新加载地图时遇到问题。 例如:如果我从level1开始,打碎一些砖块并丢失,那么我将再次加载相同的地图。下次球与我之前“接触”过的同一块砖块碰撞时,将出现错误尝试移除已移除的对象 local map = lime.loadMap("maps/" .. currentLevel .. ".tmx") local layer = map:getTileLayer("bricks_1") local visual = lime.createVisual(map) l

我正在做一个简单的“突破”游戏,在重新加载
地图时遇到问题。
例如:如果我从level1开始,打碎一些砖块并丢失,那么我将再次加载相同的地图。下次球与我之前“接触”过的同一块砖块碰撞时,将出现错误
尝试移除已移除的对象

local map = lime.loadMap("maps/" .. currentLevel .. ".tmx")
local layer = map:getTileLayer("bricks_1")
local visual = lime.createVisual(map)
local physical = lime.buildPhysical(map)


function removeBricks(event)
    if event.other.isBrick then
        local brick = event.other
        transition.to(brick, {time = 20, alpha = 0})

        score = score + brick.scoreValue
        ScoreNum.text = score 

        -- remove brick
        brick:removeSelf()
        brick = nil
        ...
你试过这个吗

transition.to(brick, {time = 20, alpha = 0, onComplete = function()
    if brick then
        brick:removeSelf()
        brick = nil
    end
end})

我认为当你第二次去游戏时,事件发生了。其他事件没有创建。你是否使用情节提要,如果这样,你可以在游戏结束后尝试删除场景,那么当你再次去游戏时,它将重新创建所有对象。如果你使用物理,你还必须执行物理。removeBody(brick)在移除对象本身以使其与物理引擎分离之前。如果不是,物理学认为它仍然存在。

请在错误代码的哪一行写上。