2013-01-07 19 views
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 

正如你可以看到我檢查了空間,例如,如果蝙蝠俠前傳是標題,我沒有問題,如果標題是一個字,但增加的空間代碼添加另一個元素到我的數組中,當我將一個對象放入我的容器時導致錯誤。你可以看到在'如果'即時通訊只是增加一個空間,但我不希望這是我的表中的一個元素posX

回答

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

+0

謝謝!我一直在看這個這麼長時間,我看不到這個簡單的解決方案 – Gooner

相關問題