在cocos2d/tools/bindings-generator/文件夹下是接口导出的工具,
在cocos2d/tools/tolua/文件夹下是接口定义文件和执行导出工作的sh\bat,有一些官方导出接口用的*.ini文件,还有一个readme文件,里面有介绍如何安装和使用这个工具,我没有到windows下进行验证,请自己查看。而关于mac下的使用方法,readme只提供了一个链接,链接是bindings-generator这个工具的github上的说明文档。然后在这个链接里就有说明这个工具还需要哪些辅助工具:python、pip、PyYAML、Cheetah、android-ndk-r9b
简单记录一下过程:
首先安装python,前面配置cocos2dx时已经安装过了(但从上面的链接里才知道原来mac os本身已经自带了python,自己再装一个居然也没冲突),然后打开终端,输入下面的内容自动安装其他依赖工具:
sudo easy_install pip
sudo pip install PyYAML
sudo pip install Cheetah
然后是ndk-r9b,必须是这个版本,亲测r9d失败。下载链接在这:
64bit ndk-r9b-x86_64
然后写好你要导出的接口的说明文件xxxx.ini放到tolua目录下,具体写法可以参考同目录下的cocos2dx_physics.ini等文件,里面对每个关键字的意义都有说明的。然后我这再摘抄一下别人的链接:
http://www.jiduli.com/?p=530
///////////////////////////////////////////weiwei 2014.02.24
修改.ini文件 用于绑定自定义类
.ini文件
参考例子:cocos2dx引擎根目录/tools/bindings-generator/test/test.ini
cocos2dx引擎根目录/tools/tojs/cocos2dx_extension.ini
cocos2dx引擎根目录/tools/tojs/cocos2dx.ini
.ini中部分参数的用法:
name: 单纯只是名称。
prefix: 最后生成的文件都会以这个命名前缀,如 prefix.cpp, prefix.hpp, prefix_api.js
classes: 你的所需转换的类的名称,必须是所导入的头文件中所有的类,这里可以使用正则表达式来加入多个类,参考cocox2ds.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 :跳过你所不需要绑定的方法和类,于是就不生成。
写好后用文本工具打开一下tolua目录下的genbindings.sh,拖到最下面,把最后几行生成cocos2dx导出接口的代码屏蔽,然后加上自己刚写的xxxx.ini文件
最后再打开终端,cd到tolua目录下,输入
export NDK_ROOT=/Users/xyz/android-ndk-r9b
./genbindings.sh
注意,如果你是从旧版cocos升级到3.0的,这里可能报parse heads error,那有可能是你ini文件写得有问题,或者导出类的头文件里include的那些路径和新版的cocos2d-x 3.0的路径结构不匹配,注意检查。
分享到:
相关推荐
cocos2d-x 3.0 人物行走 . 包里有代码和 图片资源.
http://blog.csdn.net/zoyzn/article/details/27251633一文的源码。cocos2d-x 3.0导出自定义类到lua,并导出自定义类的名称空间到lua。
这是我重新弄的cocos2d-x-3.0的类图.之前别人兄台弄的,有些不全面,有些地方错误.我这个可以说是最新的了.每个类添加了中文的详细注解,同时也添加了中文的类名称翻译.这样对cocos2d-x-3.0的框架比较好上手. 有兴趣的...
Cocos2d-x3.0正式版 练练看 源码。有注释。
cocos2d-x+lua游戏demo源码 xcode工程
兄弟连cocos2d-x3.0 final视频教程 1.Cocos2d-x手机游戏开发C编程基础 2.Cocos2d-x手机游戏开发C++编程基础 3.Cocos2d-x3.0 final手机游戏开发核心技术 4.实例:贪吃蛇 5.实例:微信飞机大战
这是cocos2d-x 3.0 类关系图, 这个制作者是:gamecocos2dx 他做的Xmind,我导出的PNG格式,我推荐还是看Xmind,里面还有一些注释 gamecocos2dx Xmind下载地址:...
这是一个cocos2d-x 3.0中文开发文档.
cocos2d-x 3.0 骨骼动画 demo 以及注意事项
本游戏基于cocos2d-x 3.0版本,可能不适用于cocos2d-x 2.x版本,请看清楚,再参考! 使用方法:将Classes中的类全部拷贝到新建cocos项目的Classes项目中,将Resources下的所有文件拷贝到对应的文件下,运行即可!
官网中文docs文档的例子下载 创建工程的时候一定要创建一样的文件名 http://www.cocos2d-x.org/docs/tutorial/framework/native/how-to-drag-and-drop-sprites/zh
cocos2d-x 3.0 rapidjson 读取Json
资源名称:Cocos2d-x实战:JS卷——Cocos2d-JS开发内容简介:本书是介绍Cocos2d-x游戏编程和开发技术书籍,介绍了使用Cocos2d-JS中核心类、瓦片地图、物理引擎、音乐音效、数据持久化、网络通信、性能优化、多平台...
最新版的cocos2d-x实战 lua卷,分享给大家
这个原本是老G开发的一个动画工具,移植到cocos2d-x3.0而已
Cocos2d-x3.0final 自学教程的配套代码http://blog.csdn.net/column/details/cocos2dx2014.html
cocos2d-x 3.0 开发文档英文版(html)
Cocos2d-x3.0游戏实例《别救我》源码。 教程地址:http://blog.csdn.net/musicvs/article/details/24928929
Cocos2d-x 3.0 过渡学习 尊重原创,转载来自:star特530的CSDN博客 :http://blog.csdn.net/star530?viewmode=contents
Cocos2d-x-3.x游戏开发之旅-钟迪龙著 全新pdf版和附书代码(代码为工程文件,可复制) 附带目录标签