溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務(wù)條款》

C++與Lua實現(xiàn)交互的原理是什么

發(fā)布時間:2021-03-01 16:51:14 來源:億速云 閱讀:253 作者:Leah 欄目:開發(fā)技術(shù)

本篇文章給大家分享的是有關(guān)C++與Lua實現(xiàn)交互的原理是什么,小編覺得挺實用的,因此分享給大家學(xué)習(xí),希望大家閱讀完這篇文章后可以有所收獲,話不多說,跟著小編一起來看看吧。

具體步驟:

1,找到cocos自帶的綁定工具腳本文件genbindings.py,在cocos工程的frameworks/cocos2d-x/tools/tolua這個目錄下,把這個文件打開。

2,在打開的genbindings.py文件下面找到這么一段代碼:


C++與Lua實現(xiàn)交互的原理是什么

這里就是運行這個腳本會自動生成lua綁定代碼的所有對象和這些對象所在的目錄與綁定代碼生成的目的路徑,#是注釋,通過它指定只生成修改過的模塊的綁定代碼。

3,運行g(shù)enbindings.py,打開命令行工具,cd到這個目錄,再在當(dāng)前目錄運行這個腳本。(1,cd + tolua目錄路徑 2,./genbindings.py)

4,xcode重新編譯下c++代碼,綁定成功。

自定義類綁定到Lua

1,寫好自定義類,我們一般把這個類放在Classes目錄,我自己項目的目錄如下:


C++與Lua實現(xiàn)交互的原理是什么

2,寫好這個類的.ini配置文件,copy其它的.ini配置,只需要改下類名空間,路徑等,多個類寫一個配置里信息用空格隔開。具體示意圖如下:
我的配置文件:


C++與Lua實現(xiàn)交互的原理是什么

配置文件主要修改地方:


C++與Lua實現(xiàn)交互的原理是什么

3,運行g(shù)enbindings.py腳本,就會在指定目錄自動生成自定義類綁定到lua的代碼。

C++與Lua實現(xiàn)交互的原理是什么

4,最后是把生成的綁定代碼注冊到lua環(huán)境棧,如圖所示:


C++與Lua實現(xiàn)交互的原理是什么

cocos AppDelegate.cpp里的這個代碼完成的創(chuàng)建lua環(huán)境棧和注冊:


C++與Lua實現(xiàn)交互的原理是什么

注意事項

1,自己新增的自定義類,打包到andriod上時,需要修改安卓的打包配置,把新增的文件添加進去(不光針對這里,所有打安卓包,新增的東西都是要加入到這個配置中才會拷貝)。示意圖如下:


C++與Lua實現(xiàn)交互的原理是什么
C++與Lua實現(xiàn)交互的原理是什么

2,mac終端中執(zhí)行g(shù)enbindings.py這個腳本,如果報“ImportError: No module named yaml”這個錯誤,解決方式是:在終端中逐個輸入:以下3句命令,mac會自動幫我們下載安裝這3個東東,安裝完畢就可以了。
在終端分別逐行輸入以下內(nèi)容:

sudo easy_install pip
sudo pip install PyYAML
sudo pip install Cheetah

以上就是C++與Lua實現(xiàn)交互的原理是什么,小編相信有部分知識點可能是我們?nèi)粘9ぷ鲿姷交蛴玫降摹OM隳芡ㄟ^這篇文章學(xué)到更多知識。更多詳情敬請關(guān)注億速云行業(yè)資訊頻道。

向AI問一下細節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進行舉報,并提供相關(guān)證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI