Код очень прост. Декларирование две таблицы, простой и многомерный:Невозможно объявить элемент таблицы с номером из другой таблицы
Player = {X_Pos = 1, Y_Pos = 1, Current_Sprite_Num = 100}
for j=1, Max_col_length do -- value ofMax_col_length doesn't matter here; positive integer anyway
MapLayer_B[j] = {}
for i=1, Max_row_length do --same here
MapLayer_B[j][i] = 1
end
end
Тогда я пытаюсь сделать эту операцию:
MapLayer_B[Player[X_Pos]][Player[Y_Pos]] = Player[Current_Sprite_Num]
Он должен заменить Player[X_Pos]
-й элемент Player[Y_Pos]
го rowtable в MapLayer_B
. Вместо этого я получил эту ошибку с компилятором LÖVE:
- Ошибка: попытаться проиндексировать поле '?' (Нилъ значение)
Я не получить, почему это происходит, так как все элементы обоих MapLayer_B
и Player
таблиц объявлены и не хранятся в ноль.
Любые идеи?
О, это, казалось, общая ошибка для меня. Я думал, что в Lua 'name.element' совпадает с именем' name [element] '. Благодаря! –