Lua 当我重新启动游戏时,尝试调用方法“insert”(一个nil值)
我已经将对象添加到组中,以便在游戏重新启动时删除并重新启动它们,但当游戏重新启动时,尝试调用方法“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"
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我已经按照你说的做了,但我仍然得到这个错误我转到上一个场景,然后我得到了回传嗯,你检查过你所有的对象都在本地范围内吗?为了安全起见,请在更改场景后立即清除所有对象。