教你快速开发一个微信小游戏好友排行榜
概述
要做这个好友排行榜.必然要有好友的战绩比分,然后再做排序,最后将数据呈现在UI上 , 可以分为下面几个步骤:
- 保存每个用户的分数
- 获取好友列表,并获取好友的分数
- 渲染排行榜
保存每个用户的分数
保存每个用户的分数,需要调用微信的云存储API,将用户的分数持久化的存起来 .
// 保存用户数据,注意限制单条数据容量不得超过1024字节,
// 单个用户数据总条数不得超过128条
wx.setUserCloudStorage(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元素展示出来 .
参考资料
Cocos Creator 实现微信好友排行榜
http://docs.cocos.com/creator...
微信小游戏关系链数据使用指南
https://developers.weixin.qq....
教你快速开发一个微信小游戏好友排行榜相关推荐
- 教你“偷偷”的获取微信小游戏好友关系链数据
好友是是很多游戏都有的功能,原因在于好友玩法可以提升用户间的互动性,增加产品和用户的黏性.对提升留存率有重要帮助.很多游戏策划和产品经理都喜欢在游戏中加入这个设定,在腾讯开发平台.空间玩吧平台也都提供 ...
- 菜鸟| 微信小游戏好友排行榜教程
写在前面:随着越来越多的新人开始接触白鹭引擎,创作属于自己的游戏.考虑到初学者会遇到一些实际操作问题,我们近期整理推出"菜鸟"系列技术文档,以便更好的让这些开发者们快速上手,Egr ...
- 菜鸟|Egret微信小游戏好友排行榜教程
原文链接:https://mp.weixin.qq.com/s/kYIdnHv-C5KuR9snekPNBg 原文虽然是菜鸟教程,但是有几个地方没有说清楚,补充如下. 你可以先看原文,看不懂时,再来这 ...
- 微信小游戏好友排行榜快速开发教程
要做这个好友排行榜.必然要有好友的战绩比分,然后再做排序,最后将数据呈现在UI上 , 可以分为下面几个步骤: 保存每个用户的分数 获取好友列表,并获取好友的分数 渲染排行榜 保存每个用户的分数 保存每 ...
- Layabox开发微信小游戏好友排行榜功能流程
官方参考文档:(https://ldc2.layabox.com/doc/?nav=zh-ts-5-0-7) 一.主域项目,即小游戏(Laya2.0版本) 针对微信小游戏初始化 MiniAdpter. ...
- 使用云数据库,国庆快速开发一个微信小程序
国庆七天,如果不想峡谷.王者七日游,就来跟我一起开发个小程序吧,不需要多高的技术,只要你会一点点前端css.html知识,不需要你了解后端语言,更不需要单独部署一个后端服务,十分简单! 之前我写过一个 ...
- 微信小程序是什么?如何快速搭建一个微信小程序?
目录 一.微信小程序是什么 二.安全管理 三.微信小程序的功能 四.快速开发一个微信小程序APP 1.集成即构实时音视频SDK 2.初始化SDK引擎 3.创建房间与登录房间 4.房主创建房间 5.推流 ...
- 开发一个Canvas小游戏 实现一个游戏“引擎”
前言 这个游戏其实在三四年前就写了,中间还重构过好几次,之前都是用简单的面向对象和函数式编程来写,游戏中的元素关系到还是分的挺开,但是游戏的渲染,运算等逻辑分的不够清晰,整个逻辑基本都是自顶向下的流水 ...
- 利用Phaser开发微信小游戏(排行榜小结)
利用Phaser开发微信小游戏(排行榜小结) 小游戏中的开放数据域可用来保存游戏 ...
最新文章
- leetcode算法题--旋转数组的最小数字
- Spark SQL 最简单例子
- Error starting userland proxy: listen tcp 0.0.0.0:5601: bind: address already in use
- java定时线程池_java 定时器线程池(ScheduledThreadPoolExecutor)的实现
- Scaffolding Template on Asp.Net Core Razor Page
- Docker搭建SonarQube代码质量检查平台
- oracle查询最近十条数据_Oracle-查询最近更新的前10条数据
- 虚拟机中安装vmware tools 到 Debian 时出现 找不到kernel headers的提示
- Java关系操作符简写
- python下载贴吧的图片
- DREAD风险评估模型
- python 网页设计实践报告_网页设计实习报告范文
- 项目方案宣讲应该注意的内容
- DevExpress 单元格的设置(可设字体、字号、前景色、背景色)
- 原创 牛客网产品笔试题刷题打卡——需求分析/数据分析/文档攥写
- Python-函数入参和全局变量
- 深度学习【道路提取】:马萨诸塞州道路数据集分享
- 怎么建立软连接和删除软连接、宏定义个声明一年有多少秒、关于自定义函数类型指针
- Java学习查漏补缺及知识点整理
- RTSP协议学习笔记
热门文章
- Jenkins安装(win系统)
- three.js+shader 制作粒子飞线,小蝌蚪那种。
- 集思广益,这样的设计可行吗?
- Oracle认证是什么?就业前景如何?
- 【工作技巧】Ubuntu备忘记录
- api arx autocad_【新提醒】[ARX]利用AutoCAD 2005.NET API进行AutoCAD的二次开发(一)
- SQL教程——order by语法
- 江苏计算机等级应用考试试题,2010江苏省全国计算机等级考试二级笔试试卷VB理论考试试题及答案...
- 投资数字货币要不要“区分”?
- 南自动化计算机控制实验报告,东南大学计算机控制实验报告一.docx