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

官方参考文档:(https://ldc2.layabox.com/doc/?nav=zh-ts-5-0-7)

一.主域项目,即小游戏(Laya2.0版本)

  1. 针对微信小游戏初始化
    MiniAdpter.init(true);

2.主域项目中正常创建好友排行榜页面,使用laya2.0新增组件WXOpenDataViewer即可,此处假设定义变量名为openData,如下图所示:
在这里插入图片描述
3.在子域项目中使用对应文件之前,需要使用以下接口将加载好的信息透传到子域,(注意:必须要在使用离屏画布之前执行以下操作
Laya.loader.load([“res/atlas/ui/friendsRanking.atlas”], Handler.create(null, function() {
//加载完成
//使用接口将图集透传到子域
MiniAdpter.sendAtlasToOpenDataContext(“res/atlas/ui/friendsRanking.atlas”);
}));

4.主域中点击排行榜按钮时,显示步骤2中创建的页面,并在页面初始化时通过以下代码传递信息到子域项目,该openData即为步骤2中所定义的变量,postMsg为laya所封装的微信透传方法
// 发送信息到开放域
openData.postMsg({
type: 2, // 该信息可自定义,用于子域中接收信息并判断需要获取哪一类数据,如好友排行榜/群排行
openid: xx, // 主域中透传该参数用于判断自己
});

5.正常打包微信小游戏

二.子域项目,即排行榜所渲染的虚拟屏幕

  1. 通过laya2.0.1beta版(大于等于该版本)创建新的开放域项目,如下图所示:
    在这里插入图片描述

  2. 因为在主域项目中透传了一个文件,所以需要在子域中确认该文件已接收才能使用,如下图所示:(注:主域项目和子域项目中需要同时包含所透传的文件,路径一致在这里插入图片描述

  3. 正常接收主域透传文件后就可以可初始化排行榜UI了,主要代码为接收主域所传递的信息并获取对应数据(具体代码在开放域项目中有完整demo可以查看)
    wx.onMessage(obj)

4.打包该子域项目,注意下图红色框内容是否选定在这里插入图片描述

三.最后的准备

1.在主域项目所打包好的微信小游戏中,修改game.json文件,增加开放域参数,如下代码
“openDataContext”: “src/myOpenDataContext”,

2.在主域项目所打包好的微信小游戏根目录中,新建文件src/myOpenDataContext/,即步骤1所配置的入口

3.将子域项目所打包出来的文件复制到步骤2的文件夹中,具体如下图所示
在这里插入图片描述
注:不需要将所有文件复制过来,只需要复制图中所示文件即可

ok, 愉快的玩耍吧

你可能感兴趣的:(微信小游戏,layabox,layabox,wechat,微信小游戏,离屏画布)