【Quick-COCOS2D-X 3.3 如何綁定自訂類至Lua之四】使用綁定C++至Lua的自訂類

來源:互聯網
上載者:User

標籤: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的自訂類

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.