【问题标题】:newQuad function limited to 5? LuanewQuad 函数限制为 5 个?卢阿
【发布时间】:2012-04-07 08:12:11
【问题描述】:

我将 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)

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

我尝试复制其他四边形以查看是否遗漏了拼写的内容,但事实并非如此。

代码如下:

menu.lua

main.lua

mapsload.lua

【问题讨论】:

  • 将代码放入您的实际帖子中。至少是 Lua 代码。不要让人们下载一些 zip 文件。
  • 我的意思是在您的帖子中,没有提供指向它的链接。

标签: lua tile love2d


【解决方案1】:

您只在main.luaQuads 表中定义了5 个条目。如果您仔细查看MenuBack 第 17 行的 mapsload.lua,您会看到值 6 孤独地站在 1-5 之间。

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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2020-12-27
    • 2021-10-04
    • 2021-06-18
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-11-05
    相关资源
    最近更新 更多