1

我正在用 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

地图.txt:

6777633333
6558633333
6555614133
7757711112
2111111112
2111111112
2222222222
4

2 回答 2

1

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

您可以像这样转换代码:

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
于 2011-03-05T20:58:40.150 回答
0

我知道这已经得到解答,但您可能会发现我的(正在进行的)瓷砖教程很有用。字符串部分正好处理您遇到的问题。

于 2011-03-08T13:45:57.923 回答