我有以下代碼Lua for循環幫助!
tile_width = 64;
tile_height = 64;
tile_map = {
{1,1,1,1,1,1,1,1,1,1,1,1},
{1,1,1,1,1,3,1,1,1,1,1,1},
{1,1,1,1,1,3,1,1,1,1,1,1},
{1,1,1,1,1,3,1,1,1,1,1,1},
{1,1,1,1,1,3,1,1,1,1,1,1},
{1,1,1,1,1,1,2,1,1,1,1,1},
{1,1,1,1,1,1,1,1,1,1,1,1},
{1,1,1,1,1,1,2,1,1,1,1,1}
}
i=1;
j=1;
while i<table.getn(tile_map) do
while j<table.getn(tile_map[i]) do
print(tile_map[i][j]);
x = (j * tile_width/2) + (i * tile_width/2)
y = (i * tile_height/2) - (j * tile_height/2)
print(x);
print(y);
j = j+1;
end
i = i+1;
end
和它的作品,但只顯示第一行的值,而不會去到第二排,第三排等
我試圖在另一種語言做
for (i = 0; i < tile_map.size; i++):
for (j = 0; j < tile_map[i].size j++):
draw(
tile_map[i][j],
x = (j * tile_width/2) + (i * tile_width/2)
y = (i * tile_height/2) - (j * tile_height/2)
)
任何想法我做錯了什麼?
謝謝!
如果是Lua 5.1,除非你確定它是你需要的,否則不要使用'table.getn'。使用'#'。 – 2011-04-17 04:26:55
不是100%確定你使用#表示什麼? – Steven 2011-04-17 04:35:08
爲什麼你用'while'代替'for for'? – 2011-04-17 04:40:21