我正在用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
答案 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正好处理您遇到的问题。