如何使用表元素

时间:2013-01-07 11:32:17

标签: lua corona lua-table

我正在将电影标题显示为字母图像,例如每个字母的单独图像。然后可以在空格/容器中拖动每个字母。这是我显示容器的代码

posX = {}
posY = 124
px = 10
containers = {}
for i = 1, #letters do
    if(letters[i]==" ") then
        px = px + 10
        -- print(posX[i])
        -- table.remove(posX, posX[i])
    else
    posX[i] = px
    containers[i] = display.newImage( "Round1_blue_tileEnlarged 40x40.png",      posX[i],posY )
    px = px + 40
    end
end

正如你所看到我正在检查一个空间,例如,如果蝙蝠侠开始是标题,如果标题是一个单词我没有问题,但添加空格是在我的数组中添加另一个元素,导致错误时我把一个物品放在我的容器里。你可以在'if'中看到我只是添加一个空格,但我不希望这是我的表posX的元素

1 个答案:

答案 0 :(得分:3)

我不确定我是否理解您的问题,但如果我这样做是您的问题:您使用i作为posX中的索引,但i通过for循环递增即使是空间。这会在posXcontainers表中产生漏洞。

你可以通过多种方式解决这个问题,这里有一个简单的方法:

posX = {}
posY = 124
px = 10
containers = {}
local j = 1
for i = 1,#letters do
    if(letters[i]==" ") then
        px = px + 10
    else
        posX[j] = px
        containers[j] = display.newImage( "Round1_blue_tileEnlarged 40x40.png", posX[j],posY )
        px = px + 40
        j = j + 1
    end
end

您也可以使用#posX代替j