1.什么是JSB
就是JS-binding,把C++代码经过既定的规则转换成JS可以调用的接口。
2.需要什么工具
- 1.Python
brew install python
- 2.安装Python依赖 pyYAML 和 Cheetah
sudo easy_install pip
sudo pip install PyYAML
sudo pip install Cheetah
- 3.安装安卓NDK(NDK 64位 r10c版本以上)
3. *.ini文件解析
图1.png**name: **单纯只是名称。
**prefix: **最后生成的文件都会以这个命名前缀,如 prefix.cpp, prefix.hpp, prefix_api.js
**classes: **你的所需转换的类的名称,必须是所导入的头文件中所有的类,这里可以使用正则表达式来加入多个类,参考cocox2dx.ini。
extra_arguments: 一些接口所需的系统参数。如clang包,android ndk包的引入所需的系统参数,写法可以参照以上三个.ini。
**headers: **你所需要绑定的头文件路径。
target_namespace:命名空间。最后生成的JS文件的类,会以这个命名空间开头。例如你的类为sqlite,命名空间为cocos2dx,那么最后生成的就是cocos2dx.sqlite。
rename_functions:可以将你要绑定的方法的名称更改成你所要的。可以更改多个,用逗号隔开,写法参照 SqliteCpp::[sqlite3_execCpp=sqlite3_exec],这个就是将SqliteCpp中的sqlite3_ execCpp方法重命名为sqlite3_exec方法。
**rename_classes **:同上,重命名类。
**skip **:跳过你所不需要绑定的方法和类,于是就不生成。
4. *.sh文件
.sh文件:主要调用程序,用来读取.ini配置文件和写部分参数。
**参考例子:/tools/tojs/genbindings.sh
5. 在Appdelegate.ccp中引用
图2.png图3.png
_本站文章为 宝宝巴士 SD.Team 原创, 转载务必在明显处注明:(作者官方网站: 宝宝巴士 ) _
_转载自【宝宝巴士SuperDo团队】原文链接: http://www.jianshu.com/p/a0273a385284
网友评论