尝试索引字段 ?(一个nil值)

我正在使用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 -- 这个不起作用
        y = y + 1
    end
end

map.txt:

6777633333
6558633333
6555614133
7757711112
2111111112
2111111112
2222222222

原文链接 https://stackoverflow.com/questions/5206702

点赞
stackoverflow用户633281
stackoverflow用户633281

你不能像这样使用多维数组。请参见矩阵和多维数组

您可以将您的代码转换如下:

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 -- 这样是不行的
        y = y + 1
    end
end
2011-03-05 20:58:40
stackoverflow用户312586
stackoverflow用户312586

我知道这个问题已经被回答过了,但你可能会发现我正在进行中的tile教程对你有用。字符串部分正好处理了你现在遇到的问题。

2011-03-08 13:45:57