win7系統cocos2dx 3.4 綁定自定義類到Lua


Cocos2d-x 3.0開始使用bindings-generator來生成c++類的lua綁定。bindings-generator基於tolua++,通過配置tools/tolua中的ini文件以及運行genbindings.py就可以自動生成c++類的綁定,具體的步驟在cocos2d-x-3.4\tools\tolua\README.mdown文件中,文檔說的很簡單,但是這個過程中我遇到很多問題,根本無法生成,索性把python生成綁定文件的環境搬到VS里,這樣就能調試,找出問題了,具體環境的搭建下面會講到。先看下具體生成綁定文件的說明:

1.README.mdown 說明


On Windows:
------------

* Make sure that you have installed `android-ndk-r9b`.

安裝android-ndk-r9b,安裝好以后要添加環境變量NDK_ROOT,這個目錄的上級目錄中不能有空格存在, 比如說, 如果是放在program files目錄下面, 后面生成.h & .cpp文件的時候會出錯, 我的是:E:\soft\android-ndk-r9b_64

* Download python2.7.3 (32bit) from (http://www.python.org/ftp/python/2.7.3/python-2.7.3.msi).

安裝python2.7.3

* Add the installed path of python (e.g. C:\Python27) to windows environment variable named 'PATH'.

安裝好python后, 在系統環境變量的PATH中設置python所在的目錄,我的是E:\soft\python2.7.3

* Download pyyaml from http://pyyaml.org/download/pyyaml/PyYAML-3.10.win32-py2.7.exe and install it.

下載並安裝PyYAML
* Download pyCheetah from https://raw.github.com/dumganhar/my_old_cocos2d-x_backup/download/downloads/Cheetah.zip, unzip it to "C:\Python27\Lib\site-packages"

下載pyCheetah ,並解壓到\Python27\Lib\site-packages目錄
* Set environment variables (`NDK_ROOT`)

設置NDK_ROOT環境變量,第一步已經說過
* Go to "cocos2d-x/tools/tolua" folder, and run "genbindings.py". The generated codes will be under "cocos\scripting\auto-generated\js-bindings".

進入cocos2d-x-3.4\tools\tolua\ ,執行genbindings.py

 

2.python visual studio 環境搭建

1.到http://pytools.codeplex.com/ 下載 python 在VS中的IDE插件PTVS

2.在VS中創建python 工程

 

3. 把cocos2d-x-3.4\tools下 bindings-generator 和 tolua 文件夾復制到python工程目錄下,復制一份genbindings.py 改名為createCustomBindings.py用來調試

4.打開python工程,把剛才添加的兩個文件夾包含到工程,具體操作是:在VS里點擊顯示所有文件,然后選中2個文件夾,右擊選擇包括到項目

5.右擊項目選擇屬性,設置啟動文件為 ./tolua/createCustomBindings.py

 

環境打好后,開始下面的調試修復工作

3.調試修復

按F5調試,接下來會有很多報錯,所以就不一一列舉了,直接把改好的項目拿出來

http://yunpan.cn/cJGqhpB479dAv  訪問密碼 a2eb

 

下載后

createCustomBindings.py中的output_dir = '%s/HappyXiYou/Classes/auto' % workdir 這個為生成文件保存的路徑,改成自己的

myclass.ini中

為頭文件路徑和要導出的類名,要改成自己的,workdir實在程序中賦值的,自己先把代碼流程看下,基本有問題的話也可以自己解決了。

主要修改了一下幾個文件,具體改了啥,可以自己和3.3原來的文件對比下就可以了

 

關於配置文件的細節說明請參考:

http://www.cocoachina.com/bbs/read.php?tid=196416

http://cn.cocos2d-x.org/tutorial/show?id=1421

http://www.cnblogs.com/emyueguang/p/3713635.html

http://cocos2d-x.org/docs/manual/framework/native/v2/lua/lua-binding-for-custom-class/zh

生成截圖:


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM