位置: 编程技术 - 正文
推荐整理分享【cocos2d-js官方文档】二十三、如何在IOS平台上使用js直接调用OC方法(cocos2dx官方教程),希望有所帮助,仅作参考,欢迎阅读内容。
文章相关热门搜索词:cocos2dx官方教程,cocos creator js教程,cocos creator js ts,cocos jsc,cocos2d-js教程,cocos js,cocos2d-js-min.js,cocos2d-js教程,内容如对您有帮助,希望把文章链接给更多的朋友!
在Cocos2d-JS v3.0 RC2中,与Android上js调用Java一样,Cocos2d-JS也提供了在iOS和Mac上js直接调用Objective-C的方法,示例代码如下:
在jsb.reflection.callStaticMethod方法中,我们通过传入OC的类名,方法名,参数就可以直接调用OC的静态方法,并且可以获得OC方法的返回。
类参数中的类名,只需要传入OC中的类名即可,与Java不同,类名并不需要路径。比如你在工程底下新建一个类NativeOcClass,只要你将他引入工程,那么他的类名就是NativeOcClass,你并不需要传入它的路径。方法js到OC的反射仅支持OC中类的静态方法。方法名比较要需要注意,我们需要传入完整的方法名,特别是当某个方法带有参数的时候,你需要将他的:也带上。根据上面的例子。此时的方法名字是callNativeUIWithTitle:andContent:,不要漏掉了他们之间的:。如果是没有参数的函数,那么他就不需要:,如下代码,他的方法名是callNativeWithReturnString,由于没有参数,他不需要:,跟OC的method写法一致。使用示例下面的示例代码将调用上面NativeOcClass的方法,在js层我们只需要这样调用:这里是这个方法在OC的实现,可以看到是弹出一个native的对话框。并把title和content设置成你传入的参数,并返回一个boolean类型的返回。此时,你就可以在ret中接受到从OC传回的返回(true)了。注意在OC的实现中,如果方法的参数需要使用float、int、bool的,请使用如下类型进行转换:
float,int 请使用NSNumber类型bool请使用BOOL类型。例如下面代码,我们传入2个浮点数,然后计算他们的合并返回,我们使用NSNumber而不是int、float去作为参数类型。目前参数和返回支持 int, float, bool, string,其余的类型暂时不支持。转载自:
【cocos2d-js官方文档】二十四、如何在android平台上使用js直接调用Java方法 在cocos2d-js3.0beta中加入了一个新特性,在android平台上我们可以通过反射直接在js中调用java的静态方法。它的使用方法很简单:varo=jsb.reflection.callStaticMetho
【cocos2d-js官方文档】二十五、Cocos2d-JS v3.0中的单例对象 为何将单例模式移除在Cocos2d-JSv3.0之前,所有API几乎都是从Cocos2d-x中移植过来的,这是Cocos2d生态圈统一性的重要一环。可惜的是,这种统一性也在很大
cocos2d CC_CALLBACK_0/1/2/3之间的区别 在使用回调函数时经常会遇到使用不同的回调函数,根据其定义#defineCC_CALLBACK_0(__selector__,__target__,...)std::bind(__selector__,__target__,##__VA_ARGS__)#defineCC_CALLBACK_
标签: cocos2dx官方教程
本文链接地址:https://www.jiuchutong.com/biancheng/369124.html 转载请保留说明!上一篇:【cocos2d-js官方文档】二十二、project.json(cocos2d官网)
下一篇:【cocos2d-js官方文档】二十四、如何在android平台上使用js直接调用Java方法(cocos creator js ts)
友情链接: 武汉网站建设