在日冕清理一张桌子

时间:2013-07-02 15:04:45

标签: lua corona lua-table

我在清除LUA表中的数据时遇到问题。我使用Scene插件,一旦播放器进入下一个场景,我就想重置一个表中的数据。

我使用此功能来创建游戏元素:

local function createGrips()
    local originX = 0
    local originY = height -75

    for i=0,numberGrips do
        r = math.random(3)
        local x = originX + math.random(width)
        local y = originY - math.random(2*height)
        grip[i] = display.newRect(allElements, x, y, gripSize[r].w, gripSize[r].h)
        grip[i].status = "active"
        grip[i].size = gripSize[r].s
        if (r == 1) then
            grip[i]:setFillColor(51,255,0)
        elseif (r == 2) then
            grip[i]:setFillColor(255,51,51)
        elseif (r == 3) then
            grip[i]:setFillColor(51,51,255)
        end
    end
end 

createGrips()

当我移动到下一个场景时,我尝试了所有这些选项来清除表格:

grip={}

或者这个

for i=#grip,0, -1 do
    table.remove(grip,i)
end

但结果保持不变。元素一直留在屏幕上。唯一有效的是grip = nil。但是一旦我返回函数createGrips(),这就产生了一个错误。

重置所有数据的最佳方法是什么?我正在为所有角色使用removeSelf()函数。

1 个答案:

答案 0 :(得分:0)

在日冕中有类似的问题,就像我在上一个回答中说的那样,如果你想重新创建故事板中的所有数据和值,你必须在去另一个场景后删除你的场景,或者你可以在场景中重置你的值:Enterscene()函数,所以如果你回到上一个场景,它将重置值

也许这个链接可以帮助你