0

我将 Love2D 与 lua 一起使用,当我使用 5 个四边形 (love.graphics.newQuad) 时,它似乎工作得很好,但是当我使用 6 个四边形时,出现了一个奇怪的错误:

Error menu.lua:9: Incoorect parameter type: expected userdata.
Traceback [C]: in function 'drawq'
menu.lua:9: in function 'draw'
[C]: in function 'xpcall'

菜单第 9 行是这样的:

love.graphics.drawq(Tileset, Quads[number], x, y)

我认为它与四边形有关,因为当我从瓷砖地图中删除第六个四边形时,它会加载第六个四边形。

我试图复制其他四边形,看看我是否错过了拼写的东西,但事实并非如此。

这是代码:

菜单.lua

主程序.lua

地图加载.lua

4

1 回答 1

1

您只Quadsmain.lua. 如果您仔细观察第mapsload.lua17MenuBack行,您会看到值6孤独地站在 1-5 之间。

现在想用的时候Quads[6],那个键不在表里Quads。因此 Lua 返回nil。你可以猜到,nil不是userdata,这就是函数drawq失败的原因。

于 2012-03-23T01:30:56.947 回答