如何使用表格元素

我正在将电影标题显示为字母图像,例如每个字母都有一个独立的图像。然后每个字母可以被拖放到一个空间/容器中。这是我的显示容器的代码

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的元素。

点赞
用户204011
用户204011

我不确定我是否理解了你的问题,但如果我理解了,这就是你的问题:在posX中使用i作为索引,但是即使对于空格,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

2013-01-07 11:56:54