我發現這個博客張貼有關如何C++類綁定到LUA:http://loadcode.blogspot.com/2007/02/wrapping-c-classes-in-lua.html當我調用綁定的C++類函數兩次時發生lua錯誤?
但它不是直的工作開箱。 我調整了我自己的函數,而不是我使用NPC類的Sprite類。 我改變了功能setSpeed
我自己叫NpcSetPosition(lua_State *L)
將被稱爲每次我打電話在Lua如下:
local npc = Npc:New()
npc:SetPosition(5,5)
(全國人大:SETPOSITION功能)
現在,有趣的是我如何調用checkSprite
在NpcSetPosition
之內,如果我這樣做了一次,lua腳本將運行得很好。但是,如果我做兩次(我稱之爲npc:SetPosition(5,5)
兩次)我收到以下錯誤信息:
Lua Compile Error: script.lua:10: bad argument #1-1 to: 'SetPosition' (table expected, got userdata)
這意味着我不能爲人大的位置兩次這是廢話。 你知道發生了什麼問題嗎? 它與lua堆棧有關嗎? 謝謝。
「我已經調整了我自己的功能」你能告訴我們調整後的版本嗎? – 2012-02-04 17:09:25
它在這裏:http://pastebin.com/3xMpCPG9 – user1188404 2012-02-04 17:19:54
我的意思是讓你把它放在你的問題。 – 2012-02-04 17:40:14