2011-09-04 23 views
0
local xOffset = 0 

for i = 1, levelPacks[prevCurrentLevelPack][prevCurrentLevel].ammount do 

    if i == 1 then --setup first one 

     shapesPrevArray[i].x = 30 
     shapesPrevArray[i].y = 41 
     shapesPrevArray[i].isVisible = true 

    end 

    if i > 1 then --setup the rest 

     --width of previous one plus the x value of the previous one to make them next to eachother. 
     xOffset = shapesPrevArray[i - 1].width + shapesPrevArray[i - 1].x 
     print("offset: " .. xOffset) 
     shapesPrevArray[i].x = xOffset  
     shapesPrevArray[i].y = 41 
     shapesPrevArray[i].isVisible = true 
     xOffset = 0 

    end 

    i = i + 1 

end 


i:2 width:60 x value:30 xoffset:90 
i:3 width:40 x value:90 xoffset:130 
i:4 width:50 x value:130 xoffset:180 
i:5 width:70 x value:180 xoffset:250 

任何人都可以幫助我嗎?我無法弄清楚爲什麼這一點不會將它們排除在外。考慮到不同的圖像寬度,均勻排列的空間圖像

X偏移= shapesPrevArray [我 - 1] .WIDTH + shapesPrevArray [我 - 1] .X

如果有人可以解釋爲什麼它是不是和我指出正確的方向我將不勝感激。

謝謝。

回答

1

您應該刪除i = i + 1

一種語法如下數字:

for var=exp1,exp2,exp3 do 
    something 
end 

該循環使用EXP3作爲步將執行的東西從EXP1 VAR的每個值 EXP2,增加var。這第三個表達式 是可選的;當缺席時,Lua假設一個爲步驟值。

http://www.lua.org/pil/4.3.4.html

+0

感謝刪除它,任何知道爲什麼形狀不正確間距? –

+0

你能用xOffset打印我,shapesPrevArray [i - 1] .width,shapesPrevArray [i - 1] .x並將它們留在你的問題中嗎? – young

+0

打印出來並添加到問題中,謝謝。 –