【发布时间】:2011-04-17 03:54:53
【问题描述】:
我有以下代码
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,除非你完全确定它是你需要的。使用#。 -
不是 100% 确定您所说的使用 # 是什么意思?
-
你为什么用
while而不是for? -
即表长度运算符。 lua.org/manual/5.1/manual.html#2.5.5
标签: lua