首先在我们主项目,场景新建一个node,然后添加组件-其他组件-WXSubContextView  大小就设为你想要显示的排行榜大小。 随后在node上层父节点挂上脚本,脚本为主域和子域互相传递信息的接口。

    /*** 获取排行榜*/public getRank() {wx.postMessage({event: 'getRank',});}/***设置排行榜数据*/public setScore(data) {wx.postMessage({event: 'setScore',data: {"name":"aaa","value":12345}});}

然后新建项目 创建场景,场景大小为刚才主域设置的node的大小,如果不一样大,可能会出现不能显示的情况。

创建列表和主域一样,设置scrollview。

子域挂载脚本以响应主域发来的消息,来做响应的操作。

protected onLoad() {if (cc.sys.platform !== cc.sys.WECHAT_GAME_SUB) return;// 监听来自主域的消息wx.onMessage((msg: any) => this.onMessage(msg));}/*** 消息回调* @param msg 消息*/private onMessage(msg: any) {switch (msg.event) {case 'setScore':this.setScore(msg.data);break;case 'getRank':this.getRank(msg.type);break;}}
private async setScore(data) {console.log('[setScore]', JSON.stringify(data));// let oldScore = await this.getScore(data.key);// if (oldScore === -1) return;// if (data.value > oldScore) {wx.setUserCloudStorage({KVDataList: data,success: (args) => {// console.log('[setScore]', 'success', args);},fail: (args) => {console.log('[setScore]', 'fail', args)}});// }}/*** 获取排行榜*/private async getRank(type) {// console.log('[getRank]', type);// 显示加载动画this.showLoading();// 调用微信的函数let list = ["name", 'value'];await new Promise(resolve => {wx.getFriendCloudStorage({keyList: list,success: (res: any) => {// console.log('[getRank]', 'success', res);// 对数据进行排序res.data.sort((a: UserGameData, b: UserGameData) => {if (a.KVDataList.length === 0 && b.KVDataList.length === 0)                                                                                 return 0;if (a.KVDataList.length === 0) return 1;if (b.KVDataList.length === 0) return -1;});// 排序之后进行展示//this.updateRankList(res.data, type);resolve();},fail: (res: any) => {console.log('[getRank]', 'fail');resolve();}});});

然后构建发布, 发布平台填写微信小游戏开放数据域,发布路径填写主域构建的目录

构建主域 开放数据域代码目录填写子域的包名

(这里由于赶项目进度原因,占时不整理)

Cocos Creator 微信小游戏排行榜相关推荐

  1. cocos creator 微信小游戏接口

    cocos creator 微信小游戏接口 /** @Description:微信小游戏* @version: * @Author: lvpeijun* @Date: 2019-12-02 10:43 ...

  2. 解决cocos creator微信小游戏本地缓存文件超过限制问题

    cocos creator微信小游戏开发,如果游戏包内资源超过包体大小限制,那么可以通过远程加载的方式加载资源(代码脚本文件除外). 小游戏在迭代过程中因为缓存资源的积累,在加载资源的时候会出现超过缓 ...

  3. 微信小游戏 资源服务器,Cocos Creator 微信小游戏 远程资源设置

    版本:2.3.4 参考: cocos教程:发布到微信小游戏 因为微信小游戏有包体大小限制. 主包4M 分包最大4M 一共最多16M 那么假如我们的游戏有个20M,50M,那就放不下了.只能放到远程服务 ...

  4. Cocos Creator 微信小游戏 分包设置

    版本:2.3.4 参考: cocos教程:分包加载 在微信小游戏中使用分包.因为微信小游戏有包体限制. 主包最大只能4m,分包最大4m,一共最多16m.所以主包只放代码,而图片.json等资源都设置为 ...

  5. Cocos Creator 微信小游戏 填坑记录

    环境:(ccc-v1.9.1, wx-v1.02.1804251) 微信小游戏禁止了动态生成并执行代码的功能,window.eval(). new Function() ,这些都不能用了. 微信小游戏 ...

  6. cocos creator微信小游戏,使用微信云开发实现“世界排行榜”

    微信提供的子域只能实现好友排行,我们一般希望实现所有玩家的世界排行榜. 那么问题来了,我们怎么获取所有玩家的openid?其实很简单,就是玩家打开游戏或排行榜时,请求玩家授权,这样就拿到openid了 ...

  7. Cocos Creator 微信小游戏苹果手机锁屏卡死的坑

    在制作小游戏项目时遇到了 苹果系列手机 只要游戏过程中进行锁屏后解锁时,整个手机或微信会卡个几秒甚至会黑屏! 所以就这个问题进行了各种 onshow/onhide 的操作试验. 第一种:在onshow ...

  8. Cocos Creator 微信小游戏无法正确显示头像 解决方案

    常见的获取微信头像方法 UserInfo:  用户授权成功后 返回的微信用户信息 UserInfo 结构体信息详情: 进入 微信如何登陆授权: 进入 let url = userInfo.avatar ...

  9. Cocos Creator微信小游戏添加banner广告

    学了小游戏开发也有几个月了,这边写一下这几个月以来遇到的坑. 首先是添加banner广告 看过很多个写微信广告的写法.感觉其实是在误导萌新,这是一般别人的例子 let winSize = wx.get ...

  10. cocos creator 微信小游戏 子域分辨率、错位等问题

    转载自 https://blog.csdn.net/cui6864520fei000/article/category/8841657 刚刚学习cocos creator,使用版本2.1.0 遇到关于 ...

最新文章

  1. int(1) 和 int(10) 有什么区别?资深开发竟然都理解错了!
  2. 数学图形(1.5)克莱线
  3. jquery validate使用总结
  4. [转载] java排序compareTo:降序输出学生成绩
  5. html中图片响应式怎么写,如何使用 HTML5 的picture元素处理响应式图片
  6. 信息学奥赛一本通 1119:矩阵交换行 | OpenJudge NOI 1.8 01 矩阵交换行
  7. B2C全开源无加密单商户商城源码可二开双端自适应
  8. 利用VBA在EXCLE2010和2007中找回2003式的经典菜单和工具栏
  9. java数组删除数组元素_如何在Java中删除数组元素
  10. PHP如果某商品下的所有货品库存都为0,则下架该商品
  11. c语言井字棋二维数组,【C语言】简单实现三子棋(井字棋)小游戏
  12. 关于嵌入式的学习和职业发展
  13. 迁移学习(Transfer)
  14. 你的 Mac 用对了吗?推荐一些 Mac 上比较好用的软件
  15. adjacent_find
  16. 判断系统(服务器)中是否存在后门程序的2个工具
  17. 程序员专用表情包_拿走不谢
  18. TensorFlow.jsd的优势
  19. 个人对软件工程的期望及个人目标
  20. c/c++函数 -strtol strtoll strtoul strtoull 使用注意项cc

热门文章

  1. 【U8+】数据库清空U8+admin密码
  2. 运用Python 模拟太阳-地球-月亮运动模型
  3. python 三维地球_python的matplotlib的模拟太阳-地球-月亮运动
  4. 8月20日 网工学习 二层交换机功能 MAC地址 交换机的寻址 总结二层交换机,根据源MAC地址进行MAC地址表学习,根据目的MAC地址转发
  5. ES2015 class
  6. 手气不错 跳过搜索 谷歌 Google
  7. matlab tdb,计算相图中的TDB文件 - 计算模拟 - 小木虫 - 学术 科研 互动社区
  8. Mac卸载Pandoc
  9. STM32(RFID)阶段三(触屏数字键盘)
  10. 在Android终端模拟器中操作adb调试命令