Lua 当我重新启动游戏时,尝试调用方法“insert”(一个nil值)

Lua 当我重新启动游戏时,尝试调用方法“insert”(一个nil值),lua,coronasdk,Lua,Coronasdk,我已经将对象添加到组中,以便在游戏重新启动时删除并重新启动它们,但当游戏重新启动时,尝试调用方法“insert”时会出现以下错误,即为nil值 这是我的目标代码: local function spawnObject() local objIdx = mRandom(#objects) objName = objects[objIdx] object = display.newImage( "images/fruit_" .. objName .. "_100.png"

我已经将对象添加到组中,以便在游戏重新启动时删除并重新启动它们,但当游戏重新启动时,尝试调用方法“insert”时会出现以下错误,即为nil值

这是我的目标代码:

local function spawnObject()
    local objIdx = mRandom(#objects)
    objName = objects[objIdx]

    object = display.newImage( "images/fruit_" .. objName .. "_100.png" )

    object.x = mRandom(screenLeft+30, screenRight-30)
    object.y = screenTop
    object.rotation = mRandom(-15, 15)
    object.id = mRandom(-15,15)

    group:insert( object )

    if objIdx < 4 then
        object.type = "food"
    else
        object.type = "other"
    end

    physics.addBody(object, "dynamic",{radius=45 , bounce = bt})
    grassfront320w:toFront()
    object.collision = objectCollision
    object:addEventListener( "collision", object )
end
为了重新启动,我去重新启动我创建的场景,然后从那个里我回到我的游戏场景

请帮助我解决此问题。

不要直接添加到组视图。为对象创建单独的显示组

本地objectGroup=display.newGroup 组:插入对象组


通过这种方式,如果您使用的是composer或storyboard,则在更改场景时,您没有义务杀死该组成员。当您更改场景时,它会在内存中自动清除。

告诉我们您定义的组的位置上述所有代码都在函数中,即本地函数spawnObject,我在“创建场景”中调用此函数,因此我猜它在“创建场景”组中,很抱歉,我对此不熟悉,所以我不知道有多少错误。您的错误非常简单。您正在尝试使用:insert on group,该组未定义为nil。那么我应该如何解决它?好的,解决了它现在我面临另一个问题,当我重新启动时,对象会生成两次,我以为通过将它们添加到组中,以前的繁殖对象将被删除,但它们没有。嘿@Jam我已经按照你说的做了,但我仍然得到这个错误我转到上一个场景,然后我得到了回传嗯,你检查过你所有的对象都在本地范围内吗?为了安全起见,请在更改场景后立即清除所有对象。