CocosCreator JSB学习:JavaScript/TypeScript调用C++函数
CocosCreator版本:v2.4.5
VS2017:编写C++程序,并且在win32平台验证结果。
Android Studio v3.5.2:在安卓平台验证结果
官方学习文档:https://docs.cocos.com/creator/manual/zh/advanced-topics/JSB2.0-learning.html
想要系统的学习,还是需要认真去看官方学习文档(尽管一两次不一定看得懂)。
首先得配置好相关的环境,可以执行自动绑定脚本,把你想调用的C++接口在.cpp文件里面实现,通过genbindings.py自动绑定,会生成两个文件.cpp和.hpp文件;之后把生成的文件放到相应的win32工程目录引擎下,然后编译,没报错,运行起来就好;
我第一次绑定的时候,到处找教程,找方法,用了三四天才搞定(可能我智商达到了250,太高了,不能理解教程里“太简单"的东西),看见论坛上有人在问,而且网上的教程都很老了,或者是LUA的,或者有些人觉得cocos2d-js的和creator的不一样,其实
是一样的,只是功力不行,一时半会看不大懂,刚开始接触要一点点尝试,才会有点感觉,现在把大致流程介绍下,以便以后方便使用,共享下学习经验;
本人的运行环境是在64位的windows下,32位应该也是一样的,需要的软件下载相应的版本就行了,配置好java和python这些环境变量,如果配置好了的 同学可以跳过(这些都很简单了,网上很多详细的教程,这里就不多说了)
cocos2d-js的绑定可以参照我这里的方法,因为creator构建以后就是一个完整的cocos2d-js项目,因此,除了不需要用creator构建一次以外,cocos2d-js的绑定和creator的绑定完全一样!
第一部分:环境配置
1.下载jdk,并配置环境变量
2.下载python2.7.6,并配置环境变量
3.下载好安卓SDK和NDK,并配置好环境变量
4.下载好JDK,并配好环境变量
以上步骤已经配置过的同学可以跳过
以下是主要部分 虽然就两个软件
4.下载安装PyYAML-3.11.win32-py2.7.zip144 (274.6 KB)并安装(默认安装目录是C:\Python27\Lib\site-packages,必须安装到这里)
5.下载Cheetah-2.4.4.tar.zip175 (191.7 KB)并解压到 C:\Python27\Lib\site-packages ,然后在 C:\Python27\Lib\site-packages\Cheetah-2.4.4 目录下
执行命令: python setup.py install(在文件夹空白处按住shift键点击鼠标右键,选择:在此处打开命令窗口(好像不能选择在别处打开命令窗口啊))
6.下载PIL-1.1.7.win32-py2.7.exe 并安装
7.安装creator,用于测试绑定环境是否配置成功,安装好以后,进入,Creator软件根目录\2.4.5\resources\cocos2d-x\tools\tojs
目录下运行 genbindings.py
这个文件,建议不要直接双击,双击看不到绑定成功还是失败,用命令行运行:genbindings.py,如果成功会出现Generating javascript bindings succeeds
的字样,然后进入
Creator软件根目录\2.4.5\resources\cocos2d-x\cocos\scripting\js-bindings\auto
,这个目录下查看绑定好的文件,如果成功绑定,目录下的文件的修改日期就是现在;
以下是我自己用到的软件截图:
自此js绑定的环境就配置好了
今天太晚了(我该下班了,果然是智商高达250 短短几句话浪费了我一个小时),明天更新如何绑定自己的c++文件,以及如如何应用到项目里面;