尝试索引字段? (零值)

时间:2011-03-05 20:52:18

标签: arrays lua 2d lua-table love2d

我正在用Lua / love2d编写一个小型RPG游戏引擎,我需要将文件解析为2d数组,但它不起作用,我收到错误......

main.lua:

local fmap = love.filesystem.read("map.txt")
map = {}
for c in fmap:gmatch(".") do
    if c == "\n" then
        y = 0
        x = x + 1
    else
        map[x][y] = c -- this won't work
        y = y + 1
    end
end

map.txt:

6777633333
6558633333
6555614133
7757711112
2111111112
2111111112
2222222222

2 个答案:

答案 0 :(得分:1)

你不能像这样使用多维数组。见Matrices and Multi-Dimensional Arrays

您可以像这样转换代码:

local fmap = love.filesystem.read("map.txt")
map = {}
x = 0
y = 0
map[x] = {}
for c in fmap:gmatch(".") do
    if c == "\n" then
        y = 0
        x = x + 1
        map[x] = {}
    else
        map[x][y] = c -- this won't work
        y = y + 1
    end
end

答案 1 :(得分:0)

我知道这已经得到了解答,但您可能会发现我(正在进行中)tile tutorial有用。 strings section正好处理您遇到的问题。