【问题标题】:Clearing a table in corona在电晕中清理桌子
【发布时间】:2018-06-01 06:50:25
【问题描述】:

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

我使用这个函数来创建游戏元素:

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() 函数。

【问题讨论】:

    标签: lua coronasdk lua-table


    【解决方案1】:

    在电晕中有类似的问题,就像我在之前的回答中所说的那样,如果您想重新创建情节提要中的所有数据和值,则必须在转到另一个场景后删除您的场景,或者您可以在场景中重置您的值:Enterscene() 函数,所以如果你回到之前的场景,它会重置值

    也许这个链接可以帮助你

    【讨论】:

    • 它有帮助。我使用 storyboard.purgeScene() 并且它有效。非常感谢您的帮助。
    • 我很高兴能帮助您解决问题。顺便说一句,你可以投票给我的答案
    猜你喜欢
    • 1970-01-01
    • 2013-02-27
    • 2015-11-16
    • 1970-01-01
    • 1970-01-01
    • 2014-07-08
    • 1970-01-01
    • 1970-01-01
    • 2017-03-19
    相关资源
    最近更新 更多