2014-02-25 53 views
4

所以我对Lua相当陌生,在其他语言中,我已经能够创建二维变量数组,并且只需索引整个数组即可创建平铺地图。每当我在lua中尝试这个时,我会得到一个错误(特别是一个错误,指出我正在索引一个零值)。我怎样才能解决这个问题?Lua二维数组错误

CODE

function love.load() 
love.graphics.setColor(255,255,0) 
tile = love.graphics.newImage("lightGrass.png") 
map = { {1,1,0,0,0,0,0,0,0,0}, 
     {0,1,0,0,0,0,0,0,0,0}, 
     {0,1,0,0,0,0,0,0,0,0}, 
     {1,1,0,0,0,0,0,0,0,0}, 
     {0,0,0,0,0,0,0,0,0,0}, 
     {0,0,0,0,0,0,0,0,0,0}, 
     {0,0,0,0,0,0,0,0,0,0}, 
     {0,0,0,0,0,0,0,0,0,0}, 
     {0,0,0,0,0,0,0,0,0,0}, 
     {0,0,0,0,0,0,0,0,0,0} 
    } 
end 

function love.draw() 
    for i = 0, 10 do 
     for j = 0, 10 do 
      newPos = map[i][j] 
      if newPos == 0 then -- this is where the error is!!!!!!!!!!!!!!! 
       love.graphics.draw(tile,j * 32, i * 32) 
      end 
     end 
    end 

end 

function love.update(dt) 

end 

回答

4

阵列在Lua从1开始,而不是为0。所以,你for循环必须在1

开始