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]
。
私は間違った木を吠えていますか?テーブルはこれほど深くなるように設計されていませんでしたか?