CocosCreator 制作微信小游戏排行榜,超越好友,分享功能

在每局游戏结束时,用来显示玩家 在好友中的排行,这个需要在微信提供的开放数据域中完成。

CocosCreator 制作微信小游戏排行榜,超越好友,分享功能_第1张图片

微信为防止数据外泄,特地提供了开放数据域。开发者只能在子域获取数据,不能上传到外部。

微信开放数据域中 计算好排行榜数据,并显示,渲染到主域的页面上。

需要在主域画布下,创建一个和画布大小相同的空物体,挂载组件

子域的画面 就是通过该组件渲染到挂载该组件的物体上,有点类似Unity 的RawImage。

这里使用的是2.0.10版本,子域工程的按钮,在测试的时候 无法点击。所以在主工程相同位置,制作了一个按钮,来代替子域中对应位置的按钮。子域和主工程画布大小一致。

通过该组件 屏蔽事件的点击。

在主工程中,通过 wx.postMessage 向子域传递消息。子域中 通过wx.onMessage 接收主域的消息,根据消息类型

做出对应的处理。

1.提交游戏分数:先通过wx.getUserCloudStorage 获取用户的云存储

 通过wx.setUserCloudStorage  提交玩家的成绩

2.获取好友成绩,处理成排行榜

 微信接口:wx.getFriendCloudStorage

获取到数据,是没有顺序的,需要自己经过排序,再来显示到排行榜上。

3.超越好友提示功能

我们可以在游戏一开始 获取到好友分数和头像,分别用数组 存起来,当你的分数增加的时候,和数组中最后一名玩家

比较,每次超越 一名好友,将该好友从数组尾部弹出,每次重新开始游戏,更新重新获取数据。

4.分享

分为主动分享 和 被动分享

被动分享:微信小游戏右上角菜单里面

通过 wx.showShareMenu 接口,显示分享功能,

通过 wx.onShareAppMessage 接口  设置 分享主题title,以及分享的图片,传入图片的地址

主动分享: 用户主动拉起好友 通讯录 分享:

wx.shareAppMessage 接口

 

 

 

你可能感兴趣的:(CocosCreator)