要做这个好友排行榜.必然要有好友的战绩比分,然后再做排序,最后将数据呈现在UI上 , 可以分为下面几个步骤:

  1. 保存每个用户的分数
  2. 获取好友列表,并获取好友的分数
  3. 渲染排行榜

保存每个用户的分数

保存每个用户的分数,需要调用微信的云存储API,将用户的分数持久化的存起来 .

// 保存用户数据,注意限制单条数据容量不得超过1024字节,
// 单个用户数据总条数不得超过128条
wx.setUserCloudStroage(Object)复制代码
//存储最高分
var score = 100;
var kvScore = {"key":"score","value":score};
wx.setUserCloudStroage({"KVDataList":[kvScore]},"success":function(){//
});复制代码

获取好友列表,并获取好友的分数

​ 游戏中将玩家的分数保存起来以后,需要调用微信的云存储API wx.getFirendCloudStorage, 获取玩家的微信好友数据,这样就拿到了每个好友的最高分.

值得一提的是,微信的这个接口在内部隐蔽的使用其微信的社交关系链 .

返回列表中的包含的 调用过wx.setUserCloudStroage 这个接口的用户.

渲染排行榜

对分数进行排序 , 得到一个排行榜

let sharedCanvas = wx.getSharedCanvas()function drawRankList (data) {data.forEach((item, index) => {// ...})
}wx.getFriendCloudStorage({success: res => {let data = res.datadrawRankList(data)}
})复制代码

注意这个 sharedCanvas , 这是独有的画布 ,与小游戏中的画布不是同一个东东.

使用sharedCanvas来自定义显示玩家的用户排行榜

重要说明

​ 上述所涉及的微信接口 , 都只能在微信小游戏的 子域 使用 , 微信官网也称之为开放数据域 , 其实应该称之为 封闭数据域 .
​ 为什么这么说呢?
​ 因为子域的js代码执行环境和小游戏本身的代码执行环境是隔离的. 两者之间不能相通 , 子域只能接收外部的消息(如游戏的最高分),不能往外发消息(不能把用户的好友关系链数据发给开发者服务器) , 内存不共享,也就意味着,开发者拿不到微信的社交关系链数据 . 在这样的封闭条件下,开发者能做的只能是在子域的画布上将排行榜数据以个性化的UI元素展示出来 .

微信小游戏好友排行榜快速开发教程相关推荐

  1. 菜鸟| 微信小游戏好友排行榜教程

    写在前面:随着越来越多的新人开始接触白鹭引擎,创作属于自己的游戏.考虑到初学者会遇到一些实际操作问题,我们近期整理推出"菜鸟"系列技术文档,以便更好的让这些开发者们快速上手,Egr ...

  2. 菜鸟|Egret微信小游戏好友排行榜教程

    原文链接:https://mp.weixin.qq.com/s/kYIdnHv-C5KuR9snekPNBg 原文虽然是菜鸟教程,但是有几个地方没有说清楚,补充如下. 你可以先看原文,看不懂时,再来这 ...

  3. 教你快速开发一个微信小游戏好友排行榜

    概述 ​ 要做这个好友排行榜.必然要有好友的战绩比分,然后再做排序,最后将数据呈现在UI上 , 可以分为下面几个步骤: 保存每个用户的分数 获取好友列表,并获取好友的分数 渲染排行榜 保存每个用户的分 ...

  4. Layabox开发微信小游戏好友排行榜功能流程

    官方参考文档:(https://ldc2.layabox.com/doc/?nav=zh-ts-5-0-7) 一.主域项目,即小游戏(Laya2.0版本) 针对微信小游戏初始化 MiniAdpter. ...

  5. 利用Phaser开发微信小游戏(排行榜小结)

                                                                利用Phaser开发微信小游戏(排行榜小结) 小游戏中的开放数据域可用来保存游戏 ...

  6. 教你“偷偷”的获取微信小游戏好友关系链数据

    好友是是很多游戏都有的功能,原因在于好友玩法可以提升用户间的互动性,增加产品和用户的黏性.对提升留存率有重要帮助.很多游戏策划和产品经理都喜欢在游戏中加入这个设定,在腾讯开发平台.空间玩吧平台也都提供 ...

  7. 微信小游戏的设计和开发

    微信平台不但承载了聊天相关的基础属性,同时也有公众号的媒体属性.小程序的工具属性和支付的金融属性,是一个大而全的平台.因此越来越多的开发者基于小程序进行游戏开发,简单易用,支付方便,也是游戏开发者一个 ...

  8. 微信小程序/uni-app 蓝牙打印开发教程和常见问题总结【文末附源码】

    微信小程序/uni-app 蓝牙打印开发教程和常见问题总结[文末附源码] 文章目录 微信小程序/uni-app 蓝牙打印开发教程和常见问题总结[文末附源码] 1️⃣ 写在前面 2️⃣ 蓝牙连接流程 3 ...

  9. 【转】微信小游戏开发源码_教程_工具_资源最新集合

    [小游戏资源] 微信小游戏开发资源目录 一.微信官方游戏教程 小游戏简易教程 小游戏API大全 小游戏开发工具 二.微信小游戏图标资源 Game-icons.net 三.微信小游戏图片资源 Super ...

最新文章

  1. MySQL数据库InnoDB坏页处理修复
  2. Go Web 编程--超详细的模板库应用指南
  3. linux之rsync远程同步文件
  4. Linux添加/删除用户和用户组(linux中,添加cvs用户,实质就是添加linux用户。)
  5. 自学python需要安装什么-终于明白python需要学什么
  6. 备战2019秋招之程序员代码面试指南(左程云)C++
  7. 如何在官网下载hbase
  8. Android面试必问之Handler机制
  9. md5加密算法~Java语言实现
  10. 计算机毕业设计java基于SSM超市订单管理系统
  11. 华为手机的拨号键有大用处,不仅能用来打电话,还有4个隐藏功能
  12. 2021平(jia)凡(ban)的一年
  13. html5互动,制作H5页面有哪些趣味互动功能?
  14. 华硕重装后进入bios_华硕电脑如何进入bios,教您如何华硕进入bios
  15. 移动磁盘提示设备未就绪文件怎么恢复
  16. TcaplusDB君 · 行业新闻汇编(11月22号)
  17. pytorch 猫狗二分类 resnet
  18. 国产操作系统统信UOS的简单故障维护,系统崩溃小妙招
  19. Java语言的特点及应用有哪些
  20. KanBan系统WeKan安装和使用

热门文章

  1. QT程序打包成应用程序方法(Windeployqt)
  2. java 汉字转换为拼音 简码 及全拼音
  3. 计算机应用技术实训室建设发展,计算机应用技术系实验室、实训基地建设规划...
  4. shell脚本kill进程
  5. CSDN早报-2019-04-26
  6. 苹果手机自带软件删除了怎么恢复_手机备忘录删除了怎么恢复
  7. unix哲学:集思广益的智慧(第一章 )
  8. EditPlus配置用户工具
  9. 计算机考证考点(合肥)
  10. 基于springboot+mybatis+mysql+vue运动会报名管理系统