Lua 2D数组错误

我对 Lua 还不那么熟悉,在其他语言中,我可以通过创建一个二维数组的变量并简单地通过数组索引来创建一个平铺地图。每当我在 lua 中尝试这样做时,我会收到一个错误(特别是一个错误声明我正在索引一个零值)。我应该如何解决这个问题?

代码

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 -- 错误就在这里!!!!!!!
                love.graphics.draw(tile,j * 32, i * 32) 
            end
        end
    end

end

function love.update(dt)

end
点赞
用户107090
用户107090

Lua 中的数组起始索引为 1,而不是 0。因此,你的 for 循环必须从 1 开始。

2014-02-25 04:09:13