0

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

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

如您所见,我正在检查一个空格,例如,如果 batman 开头是标题,如果标题是一个单词,我没有问题,但是添加空格会在我的数组中添加另一个元素,这会在我放置一个错误时导致错误我的容器中的对象。您可以在“if”中看到我只是添加了一个空格,但我不希望它成为我的表 posX 的一个元素

4

1 回答 1

3

我不确定我是否理解您的问题,但如果我这样做是您的问题:您正在i用作索引,posXi即使是空格也会被 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-07T11:56:54.390 回答