Layabox开发微信小游戏好友排行榜功能流程
2019年06月23日 12:01:30 h_opingocean 阅读数 111 标签: layaboxwechat微信小游戏离屏画布 更多
官方参考文档:(https://ldc2.layabox.com/doc/?nav=zh-ts-5-0-7)
一.主域项目,即小游戏(Laya2.0版本)
- 针对微信小游戏初始化
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.正常打包微信小游戏
二.子域项目,即排行榜所渲染的虚拟屏幕
-
通过laya2.0.1beta版(大于等于该版本)创建新的开放域项目,如下图所示:
-
因为在主域项目中透传了一个文件,所以需要在子域中确认该文件已接收才能使用,如下图所示:(注:主域项目和子域项目中需要同时包含所透传的文件,路径一致)
-
正常接收主域透传文件后就可以可初始化排行榜UI了,主要代码为接收主域所传递的信息并获取对应数据(具体代码在开放域项目中有完整demo可以查看)
wx.onMessage(obj)
4.打包该子域项目,注意下图红色框内容是否选定
三.最后的准备
1.在主域项目所打包好的微信小游戏中,修改game.json文件,增加开放域参数,如下代码“openDataContext”: “src/myOpenDataContext”,
2.在主域项目所打包好的微信小游戏根目录中,新建文件src/myOpenDataContext/,即步骤1所配置的入口
3.将子域项目所打包出来的文件复制到步骤2的文件夹中,具体如下图所示
注:不需要将所有文件复制过来,只需要复制图中所示文件即可
ok, 愉快的玩耍吧