Cocos2d-X2.13跨android & ios平台JS绑定教程一. 所需工具准备1. python2.72. macports 下载地址http://macports.org 进入该网站点击右上角的Download按钮 进入下载页面。下载的时候会有很多版本供你选择,选择 10713. android-ndk-r8e下载地址http://dl.google.com/android/ndk/android-ndk-r8e-darwin-x86.tar.bz24. clang+llvm-3.1下载地址 http://llvm.org/releases/3.1/clang+llvm-3.1-x86_64-apple-darwin11.tar.gz
二. 安装所需工具1.安装macports安装macports 有几点注意要求(1)mac中安装了Xcode 4.4以上版本(2)安装了Command LineDeveloper Tools注:安装可能会卡在最后一分钟不动,断开网络,重启系统后重新安装即可。2.在命令行输入:sudo port -v selfupdate3.安装python2.7:sudoport install python27 py27-yaml py27-cheetah没问题的话终端提示—>Updating database of binaries: 100.0%—>Scanning binaries for linking errors: 100.0%—> Nobroken files found.安装成功。
注:最好把代理设置成全局后,再执行该命令,因为安装地址有可能被墙4.把android-ndk-r8e和clang+llvm-3.1解压缩5.设置全局ANDROID_NDK_ROOT为android-ndk-r8e注:ndk版本一定要r8d或者r8e,否则在eclipse下编译不成功相关文章:https://groups.google.com/forum/?fromgroups#!topic/cocos2d-js-devel/WlC_zgXGwrU 三. 绑定测试1.绑定工具路径cocos2d-x-2.13/cocos2d-x/tools/bindings-generator2.新建一个目录,把test目录下的这几个文件拷贝到刚才新建的目录1072把test.ini和test.sh改成任意名称3.修改配置属性(以globaldata为例,我把这两文件分别改名为GlobalData.ini和GlobalData.sh)(1) 设置user.cfg文件1073其中PUBLISH_DIR为生成的绑定代码需要放置的目录(2) 设置userconf.ini文件1074其中cxxgeneratordir为generator.sh文件路径,也就是上面所说的绑定工具路径(3) 设置GlobalData.ini文件1075其中 target_namespace为生成的JS文件的前缀名,prefix为生成的绑定文件名,classes为要生成绑定的源文件,GlobalData.*表示所有方法都生成绑定,name作用未知。1076其中headers为源文件的头文件路径更多配置属性参考cocos2d-x-2.13/cocos2d-x/tools/tojs下的cocos2dx.ini文件,有很多属性我也不是很清楚(4) 设置GlobalData.sh文件1077注:标注的1和2所写内容要一致。4. 生成绑定代码运行 ./ GlobalData.sh,如果配置路径没有问题终端会提示:Errors in parsing headers:1. <severity = Warning, location=<SourceLocation file None, line 0, column 0>,details =“argument unusedduring compilation: ‘-nostdinc++’”>警告不用管,只要没有错误就行。这样就在输出目录中生成gamestate_api.js、gamestate.cpp、gamestate.hpp三个文件 四. 测试绑定1.修改AppDelegate.cpp文件107810792.在JS中调用生成的方法10803.xcode编译运行xcode编译比较顺利,但有一个内存泄漏,原因未明10814.eclipse编译运行(1) 导入Android项目(2) 导入cocos2d java源代码项目注:这个版本的cocos2d-x不再需要为Android项目添加c++绑定,编译选项也不用修改。(3) 修改Android.mk文件1082加入红框标注的内容(4) 修改项目属性1083去掉带”X”的Builders(5) 编译
至此,本教程结束,祝好运!本教程测试项目下载地址:http://pan.baidu.com/wap/view?fsid=2368022651
注:本教程有部分内容参考,在这表示感谢
http://cocos2d.cocoachina.com/bbs/forum.php?mod=viewthread&tid=10226&extra=page%3D1js_bindings01??test运行及测试