cocoscreator 从javascript调用java/objective-c。不用传包名签名。
从javascript调用本地代码的辅助工具。
javascript
native.callClass("SomeClass", "FuncName", "your string", 2017, true, (str, number, bool) => {
cc.log(str, number, bool)
})
objective-c
@interface SomeClass : NSObject
+(void) FuncName : (NSString*) str
arg1 : (NSNumber) number
arg2 : (BOOL) b
arg3 : (NSString*) cbName {
JS::call(cbName, @[@"your string", @2017, Yes]);
}
@end
java
class SomeClass {
static public void FuncName(String s, double d, boolean b, String cbName) {
Js.call(cbName, "your string", 2017, true);
}
}
Js::setEvalFunc([](std::string content) {
if (!se::ScriptEngine::getInstance()->evalString(content.c_str())) {
NSLog(@"evalString fail.");
}
});