我正在尝试使用一个表格制作一个网格,该表格存储诸如 x & y 坐标、纹理信息和另一个表格等信息。下面是一些用于创建网格的代码:
for i = i, n do
local random = math.floor(rainbow.random(1, 13))
self.grid[i] = {
sprite = Labyrinth:make_cell_texture(spritebatch, position_x, position_y, i, random),
y = position_y,
x = position_x,
nav = Cell:get_nav(random)
}
position_x = position_x + 0.09375
end
它在
nav = Cell:get_nav(random)
我正在创建新表的部分:
if random == 1 then
self.nav = {
north = true,
east = false,
south = false,
west = false,
}
问题是访问所述变量,以检查它们是真还是假。我回到self.nav
,grid[i].nav
我能够print(self.nav.east)
得到一个true
.
但是稍后访问该表会导致它总是返回nil
,即使我可以让它打印那里有一张表。
我试过这个循环:
for i = 1, 10 do
if self.grid[i].nav.north and self.grid[i + 10].nav.south then
print("Two sides are touching!")
end
end
也有self.grid[i][4].north
,但无济于事。
是不是我设置的方式不对?还尝试重命名nav
为[4]
.
我在吠叫错误的树吗?桌子不是设计得这么深吗?