首先你需要下载一个cocos framework3.7再下载cocos2d-x-3.7
先说明一个如果大家没有改cocos2d的文件这种需求的话,用framework3.7是可以很愉快的创建工程的
但是我们有需求要改里面cocos2d的文件- -真折腾
然后如果framework mode设置成cocos2d-x-3.7,是不能创建工程的 - -震惊
弹出Read json file null failed, the reason is:null
反正就是创建文件的json有问题,我也不知怎么改了
我们先设置framework mode为framework 3.7,创建一个工程并添加c++的代码,
此时记住你自己设置的org.cocos2dx.HelloWorldGame这样的包名
我们把这个工程叫做原工程
然后我们打开终端进到cocos2d-x-3.7的cocos2d-console/bin里面
python cocos.py new HelloWorldGame -p org.cocos2dx.HelloWorldGame -l js -d ~/Desktop
此时就会在桌面创建一个同名工程,我们把这个工程叫做新工程
我们把原工程的framework文件夹整个删掉,把新工程的framework文件夹拖进来…
欧耶,这样就能改cocos2d的东西了
然后我们的tojs绑定的路径也要改,这样才能正确绑定(–吐槽下如果用framework3.7创建的工程连cocos2d的源文件都没有绑个毛)
打开 tool/tojs/genbindings.py下面的这几行
project_root = os.path.abspath(os.path.join(os.path.dirname(__file__), '..', '..')) cocos_root = os.path.abspath(project_root) jsb_root = os.path.abspath(os.path.join(project_root, 'cocos/scripting/js-bindings')) cxx_generator_root = os.path.abspath(os.path.join(project_root, 'tools/bindings-generator')) 改成 project_root = os.path.abspath(os.path.join(os.path.dirname(__file__), '..', '..')) cocos_root = os.path.abspath(os.path.join(project_root, 'frameworks/cocos2d-x/')) jsb_root = os.path.abspath(os.path.join(project_root, 'frameworks/cocos2d-x/cocos/scripting/js-bindings')) cxx_generator_root = os.path.abspath(os.path.join(project_root, 'tools/bindings-generator')) ``` 还有一个output_dir也要改下 output_dir = '%s/cocos/scripting/js-bindings/auto' % project_root 改成 output_dir = '%s/frameworks/cocos2d-x/cocos/scripting/js-bindings/auto' % project_root