OC调用cocos-js
#import "ScriptingCore.h" #import "cocos2d.h" #include "scripting/js-bindings/manual/ScriptingCore.h" #include "scripting/js-bindings/manual/jsb_conversions.hpp" #include "scripting/js-bindings/jswrapper/SeApi.h" #define JSCallBackHasVoice @"cc.director.getScene().getChildByName('Canvas').getComponent('OCRecorder').hasVoice"
//hasVoice是cocos-js的方法
+ (void)JsCallBack:(NSString *)funcNameStr WithIndex:(NSInteger)index{ std::string funcName = [funcNameStr UTF8String]; NSString *numberStr = [NSString stringWithFormat:@"%ld",index]; std::string coins = [numberStr UTF8String]; std::string jsCallStr = cocos2d::StringUtils::format("%s(\"%s\");",funcName.c_str(), coins.c_str()); se::ScriptEngine::getInstance()->evalString(jsCallStr.c_str()); }