2011-03-05 4 views
1

Lua/love2d가있는 작은 RPG 게임 엔진을 작성하고 있는데 2 차원 배열로 파일을 구문 분석해야하지만 작동하지 않고 오류가 발생합니다 ...색인 필드를 시도합니까? (nil 값)

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 

답변

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 
+0

다음을 참조하십시오. http://lua-users.org/wiki/AutomagicTables –

+0

감사합니다. – luanoob

0

을 나는이 이미 대답 된 것을 알고 있지만, 당신은 아마 (진행) 내를 찾을 것 tile tutorial 유용합니다. strings section은 귀하가 겪고있는 문제를 정확하게 처리합니다.

관련 문제