最近在做项目的时候。遇到的一些额外的功能比如调用安卓或者ios的相册照相机之类的。空闲下来,就做个随手记吧

1.js 调用oc方法

jsb.reflection.callStaticMethod("BaiDuMap","openorcloseMap:","json");
调用这句话之前,加上一句话来判断平台,不然在浏览器会报jsb未定义的错误
参数说明:第一个参数是类名,第二个是方法名,这里方法名有个需要注意的一方,就是是否携带参数,携带几个参数
<pre name="code" class="javascript">+(void)openorcloseMap : (NSString*)lis{}
这里是携带一个参数,所以<span style="font-family: Arial, Helvetica, sans-serif;">openorcloseMap: 方法名后面多一个冒号,传递参数,如果没有参数就不需要冒号,但是如果两个参数</span>
openorcloseMap : (NSString*)lis Two:(NSString*)str{}方法名就需要这样-- openorcloseMap:Two:两个参数。值得注意的是,调用的方法接口必须是静态函数。
</span></div>

2.oc调用js方法

这句话的作用是把回调js的代码放在OpenGL线程中
cocos2d::Director::getInstance()->getScheduler()->performFunctionInCocosThread([=](){
//        jsval ret;
//        ScriptingCore::getInstance()->evalString(js代码块, &ret);
<span style="white-space:pre">  </span>上面两种方法在creator1.3的时候废弃了。改为下面这两句,原因是类型比较危险JS::RootedValue ret(ScriptingCore::getInstance()->getGlobalContext());ScriptingCore::getInstance()->evalString(js<span style="font-family: Arial, Helvetica, sans-serif;">代码块, &ret);});</span>

3.js 调用java代码

jsb.reflection.callStaticMethod("com/org/Activity","open","()V");//第一个是要调用的方法所在的安卓项目的包名,第二个是方法名,第三个是方法
签名。具体的签名方式,可以查c++调用java的jni签名。这里就不多说了。
4,java调用js代码
AppActivity.app.runOnGLThread(new Runnable() {
<span style="white-space:pre"> </span>@Override
<span style="white-space:pre"> </span>public void run() {
<span style="white-space:pre">     </span>//android 调用 cocojs
<span style="white-space:pre">     </span>Cocos2dxJavascriptJavaBridge.evalString(js代码段);
<span style="white-space:pre"> </span>}
});

cocos creator 调用原生端方法相关推荐

  1. AjaxPro.NET使用,方便的在客户端直接调用服务端方法

    (一). 运行效果如下: (二). AjaxPro.NET简介 AjaxPro.NET是一个优秀的Ajax框架, 在实际应用中只要添加其DLL引用并进行简单的配置, 即可以非常方便的在客户端直接调用服 ...

  2. vue 获取安卓原生方法_VUE H5调用原生APP方法实践笔记

    最近做与app端的混合开发,了解到了H5与原生app端之间的方法互通 首先是我们给app端定义方法供他们使用(以vue为例) methods中定义一个方法名称 VContent() { console ...

  3. cocos creator 安卓原生平台环境_竞技对抗小游戏单挑篮球开发历程 | Cocos技术派第12期...

    本文来自于"Cocos 荣耀讲师"征稿活动第1期,最先发表于 Cocos 中文社区,作者 ID:蟹老板,2017年加入社区,文章作品包括<猎头专家的开发历程>等. Co ...

  4. cocos creator 调用相机相册裁剪图片并上传到服务器

    大致思路就是creator里面js调用Java和object-c代码,调起系统相机相册,选取图库图片/拍照图片进行裁剪,然后转化为base64字符串,最后通过http post请求上传到服务器. Ja ...

  5. cocos creator开发pc端的浏览器适配问题

    因为pc浏览器端不比手机端,手机分辨率除了ipad等特别的,一般只需要把背景图拉宽或者拉高一些,就能保证不留黑边,pc端浏览器可以随便拉,但是一般为了效果,浏览器界面再拉也不允许留黑边的,可以试试其他 ...

  6. cocos creator 打包原生安卓apk 构建与编译

    1.构建 参考官方文档,优先限配置安卓sdk,ndk 路径. 构建时,需选择api level 版本号. 2.编译. 遇到报错:java.lang.RuntimeException: java.io. ...

  7. cocos creator 安卓原生平台环境_cocos creator原生平台下载文件并保存到本地

    网上没有找到相关的文章,写下来自己记一下 直接上代码:downFile2Local:function(url, fileName, callback){ var fullPath = jsb.file ...

  8. React Native手动实现调用原生相机相册(Android端)

    前言 最近一直在学习RN的相关开发,想做一部分调用原生的实现,来练练手,于是就有了下面这个demo,由于本人是Android开发,所以只实现了Android端的效果. Demo 主要实现 这种调用原生 ...

  9. android native 相册,React Native手动实现调用原生相机相册(Android端)

    前言 最近一直在学习RN的相关开发,想做一部分调用原生的实现,来练练手,于是就有了下面这个demo,由于本人是Android开发,所以只实现了Android端的效果. Demo 主要实现 这种调用原生 ...

最新文章

  1. 再迎利好,BCH开发团队BU融合石墨烯区块传播技术
  2. OpenGL中使用glutDisplayFunc(myDisplay),myDisplay里面的代码不显示
  3. algorand共识协议_【Filecoin】理解预期共识 - 及它的优缺点
  4. 工作37:账号绑定逻辑复杂
  5. LeetCode 421. 数组中两个数的最大异或值(Trie树)
  6. CSS属性值之百分数
  7. Linux中的nc测试端口是否开放
  8. 行人属性数据集pa100k_Attribute-Recognition行人属性识别资料
  9. EOS技术研究:合约与数据库交互
  10. Linux的sleep()和usleep()的使用和区别
  11. Arduino的软件:Arduino IDE和Mind+图形化编程
  12. vasp 计算杨氏弹性_VASP计算-力学常数1
  13. Dynamics CRM 2013学习伊始
  14. CocosCreator开发笔记(4)-Windows搭建幼麟麻将运行环境
  15. ubuntu18.04安装MPV视频播放器
  16. Code Project精彩系列(2)
  17. 解决方案之Android 国际化资源完美兼容6.0,7.0,8.0
  18. 任天堂游戏 html5,任天堂:会让粉丝们在Switch上玩到《毁灭战士:永恒》
  19. hibernate 根据方言生成sql
  20. ERP 基础数据 概念

热门文章

  1. PTA7-12 圆形体体积计算器 (20分)
  2. Android学习之导航--摘自黑马程序员
  3. 开发之外,我们还用过哪些装X的神器
  4. java 硬盘物理序列号_读取硬盘物理序列号
  5. Jetpack-Lifecycle
  6. 鲁大师2022年Q3季度电动车报告:九号机械师霸榜,绿源发力智能化
  7. android读取所有图片分页打印,js控制分页打印、打印分页示例
  8. 安装TortoiseGit教程 保姆级教程 手把手教学
  9. Couldn't create directory for SharedPreferences file 解法
  10. Chrome浏览器对某盘破速及安装.crx类型文件