0

私はluaでLove2Dを使用しており、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)

タイルマップから6番目のクワッドを削除すると、クワッドの原因と関係があると思います。6番目のクワッドが読み込まれます。

他のクワッドをコピーして、スペルが間違っていないかどうかを確認しようとしましたが、そうではありません。

コードは次のとおりです。

menu.lua

main.lua

mapsload.lua

4

1 に答える 1

1

Quadsのテーブルに定義しているのは5つのエントリのみmain.luaです。mapsload.lua行17をよく見るとMenuBack、値6が1〜5の中で孤独に立っていることがわかります。

を使用したい場合Quads[6]、そのキーはテーブルにありませんQuads。したがって、Luaはnilを返します。ご想像のとおり、niluserdataではないため、関数drawqは失敗します。

于 2012-03-23T01:30:56.947 に答える