2.jsb_c++调用js中的方法
环境说明:
1. 引擎使用的是cocos2d-js-v3.0-beta版本
2. c++工具使用的是vs2012
3. 使用v3.0版本可以直接使用Cocos2d console创建win32下的项目,官方教程:
http://www.cocos2d-x.org/docs/manual/framework/html5/v2/cocos-console/zh
创建好后,运行frameworks\runtime-src\proj.win32下的.sln即可打开项目。
注意:使用vs2012及以上版本打开,因为vs2012以下的版本不支持c++11。
生成的项目中已经自带了cocos2d-x相关的内容,所以,用vs打开.sln项目后可以直接运行项目。
4. 源码运行方法:
使用如上方法创建好项目,将js文件覆盖项目根目录下的src目录(projects\Test0610\src)里的内容;
将c++中的文件覆盖“\frameworks\runtime-src\Classes”目录里的内容。
5. 代码js调用c++中方法的逻辑在“jsb_js调用c++中的方法”中
----
- 在jsb_test_function.hpp文件中添加c++调用js的方法
void test_call_js_function(){}
- 在已有的方法中添加调用:
bool jsb_test_function(JSContext *cx,uint32_targc,JS::Value *vp){
……
test_call_js_function();
……
}
(test_call_js_function方法要写jsb_test_function方法上边)
3. 在app.js中创建一个js的对象和方法
var TestObj={
test:function(){
cc.log("TestObj.test~");
},
test2:function(i,s){
cc.log("TestObj.test2~i="+i+",s="+s);
return "test2_return~";
}
};