newQuad函数的限制是5?Lua

我使用 Love2D 和 lua,当我使用 5 个 quad(love.graphics.newQuad)时,它似乎可以正常工作,但当我使用 6 个 quad 时,出现了奇怪的错误:

错误 menu.lua:9: 不正确的参数类型:期望 userdata。
Traceback [C]:在函数 'drawq' 中
menu.lua:9:在函数 'draw'中
[C]:在函数 'xpcall'

菜单第 9 行是这样的:

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

我认为它和 quads 有关,因为当我从瓷砖图中删除第六个 quad 时,它将会加载。

我试图复制其他 quads,以查看是否拼写错误,但情况并非如此。

这是代码:

menu.lua

main.lua

mapsload.lua

原文链接 https://stackoverflow.com/questions/9827828

点赞
stackoverflow用户221509
stackoverflow用户221509

你只在 main.lua 中的 Quads 表中定义了 5 个条目。如果你仔细观察 mapsload.lua 中的第 17 行 MenuBack 行,你会看到数值 6 在 1-5 中孤零零地站着。

现在当你想要使用 Quads [6] 时,这个键不在表 Quads 中。因此 Lua 返回 nil。而且,正如你猜测的那样,nil 不是 userdata,这就是为什么函数 drawq 失败的原因。

2012-03-23 01:30:56