標籤:cocos2dx frameworks 指令碼 lua scripting
續【Quick-COCOS2D-X 3.3 如何綁定自訂類至Lua之三】動手綁定自訂類至Lua 之後,我們已經完成了自訂類至Lua的綁定。在接下來的環節,我們將使用它。
首先,我們需要確定,通過Python指令碼我們產生了哪些繫結檔案?我們羅列一個表單。
// Path : F:\Cocos2dx-Lua\Garfield\frameworks\cocos2d-x\cocos\scripting\lua-bindings\auto
1. lua_pet_auto.hpp
// Path : F:\Cocos2dx-Lua\Garfield\frameworks\cocos2d-x\cocos\scripting\lua-bindings\auto
2. lua_pet_auto.cpp
// Path : F:\Cocos2dx-Lua\Garfield\frameworks\cocos2d-x\cocos\scripting\lua-bindings\auto\api
3. lua_pet_auto_api.lua
// Path : F:\Cocos2dx-Lua\Garfield\frameworks\cocos2d-x\cocos\scripting\lua-bindings\auto\api
4. Pet.lua
檢查這些檔案是否在你的項目當中相對的路徑。(F:\Cocos2dx-Lua\Garfield 這是我的樣本項目所在路徑)。
一切無誤的話,我們使用VS2013將"Garfield.sln"工程檔案開啟。我們將在"libluacocos2d\auto"中引入"lua_pet_auto.hpp"、"lua_pet_auto.cpp"。這兩個檔案聲明及定義"register_all_custom_pet()"全域函數,用於完成對C++綁定類的註冊,完成類中成員屬性及成員函數向Lua的"注入",實現C++類結構至Lua的"解析"。"register_all_custom_pet()"函數我們一會將用到。
檢查第三章節中我們建立的"Pet"類檔案是否已經正確引入到VS2013工程中。
完成這些檔案的引入之後,我們將在引擎入口協議類"AppDelegate"調用"register_all_custom_pet()"函數來完成綁定類在該項目的註冊。
1. 引入" #include "lua_pet_auto.hpp" 標頭檔; ( " register_all_custom_pet() " 定義於該檔案中)
2. 調用 "register_all_custom_pet()" 。
接下來,我們可以在Quick-cocos2d-x項目中使用該"Pet"了。我將在Cocos Code IDE中編寫我的指令碼程式,該指令碼代碼中使用了由C++定義的類Pet。如下:
回到VS2013工程,運行項目。
寫在最後,為了希望可以盡量協助看到該篇博文的讀者,筆者儘力將每個環節都進行了詳細的和說明,難免會略有贅述。同時小心翼翼的驗證每個環節,但難免有紕漏之處,如果你在閱讀的過程中發現問題。可郵件[email protected]與我聯絡,非常樂意與你交流。
【Quick-COCOS2D-X 3.3 如何綁定自訂類至Lua之四】使用綁定C++至Lua的自訂類