Laya引擎对接微信小游戏
步骤如下:
可以在主域写的逻辑:
1.首先调用登录获取到code,拿到code后请求https://api.weixin.qq.com/sns/jscode2session? appid=wx05c25aaaf81a18f9&secret=f67512cd482e83fdae27d10a24a28f27&js_code=' + code + '&grant_type=authorization_code';appid-开发者后台-设置-API-APPID,secret-开发者后台-设置-API-APPID下面的加密的IDjs_code-通过下面接口获取到的Codegrant_type=authorization_code(默认固定写法)登录接口:::window['wx'].login
2.链接请求后,微信服务器后台,会返回玩家唯一OpenID与session_Key
3.获取玩家微信个人信息接口:window['wx'].getUserInfo
4.以上步骤完成后,调用下面接口接口:window['wx'].onShow,获取到query,此值是转发邀请后,微信好友点击进入后,带的参数(前提主动转 发邀请链接里,写入query主动转发接口: window['wx'].shareAppMessage);
5.以上步骤完成后,如果做了分包,则首先加载分包模块if (this.mRunPlatform_WX) {const loadTask = window['wx'].loadSubpackage({// name 可以填 name 或者 rootname: 'subpackage',success: function (res) {console.log("分包加载成功");},fail: function (res) {console.log('分包加载失败');}});}
6.如果没做分包机制的话,可以跳过此步骤分包,首先在Src下建立分包文件夹subpackage,代码就在此文件夹下做处理tip:subpackage命名自定义,此命名,要写到打包出的game.json里分包下的文件在编译时,会被bin/index.html引用,记得要把所有在分包内的文件引用注释掉主包,分包之间相互调用时,记得需要用window存储下引用如:laya的UI层, window['ui'] = ui;这样就可以互相访问window存储的对象.调用打包后的配置文件如下: {"deviceOrientation": "landscape","showStatusBar": "false","networkTimeout": {"request": 10000,"connectSocket": 10000,"uploadFile": 10000,"downloadFile": 10000},//开放域与分包配置"openDataContext": "src/myOpenDataContext","subpackages": [{"name": "subpackage","root": "js/subpackage/"}]
}主要是开放域与分包配置,上面都是默认openDataContext,开放域模块地址subpackages:分包模块地址name:分包包名.root:分包代码具体地址
7.主域与开放域通信模块主域开放域为两个工程项目:主域:初始化为:Laya.MiniAdpter.init(true);开放域初始化为:Laya.MiniAdpter.init(true,true);主域发消息接口:接口:window['wx'].postMessage此接口,一般在主域,登陆成功,且获取玩家信息,加载分包成功时候调用
8.主域必发消息1.首先发送设置开放域canvas消息,大小为主域的state宽高2.开发域加载资源,(laya启动时,会主动给开放域发送主域里图集信息,开放域需提前接受,详情在步骤10)
9.开放域接收消息接口:接口:window['wx'].onMessage
10.开发域必做消息处理1.laya启动时,底层自动推送的图集资源信息,此接口不用命令,直接处理if (message['isLoad'] == "filedata" || message['isLoad'] == "filenative") {layaAir2D.ReceiveRes(message);}ReceiveRes(message: any) {if (message['isLoad'] == "filedata") {Laya['MiniFileMgr'].ziyuFileData[message.url] = message.data;//文本数据} else if (message['isLoad'] == "filenative") {//子域接收主域传递的文件信息if (message.isAdd)Laya['MiniFileMgr'].filesListObj[message.url] = message.data;elsedelete Laya['MiniFileMgr'].filesListObj[message.url];}console.log("分域资源获取完成");}2.根据命令,设置canvas大小setCanvasSize(size: any) {console.log('设置开发域canvas大小')window['sharedCanvas'].width = size.width;window['sharedCanvas'].height = size.height;Laya.stage.width = size.width;Laya.stage.width = size.height;}3.正常加载图集资源结束:其它接口,照微信API调用即可
Laya引擎对接微信小游戏相关推荐
- 使用Laya引擎开发微信小游戏(下)
本文由云+社区发表 6. 动画 6.1 创建伞兵对象 在src目录下创建一个新目录role,用来存放游戏中角色. 在role里创建一个伞兵Soldier.ts对象文件. module role{exp ...
- 白鹭引擎解决微信小游戏切换背景音乐无法播放的问题。
白鹭引擎 版本:5.2.8 描述:白鹭引擎解决微信小游戏切换背景音乐无法播放的问题. main.ts文件中找到如下函数,增加上您的音频对象. egret.lifecycle.onResume = () ...
- Egret白鹭引擎开发微信小游戏之保存图片到相册
玩家在玩小游戏的过程中,很多时候想要保存一下当前的截图.或者保存游戏内精美的画面到相册,一方面是为了记录在游戏中的美好时刻,另一方面则是能够更好地和朋友们分享我在这游戏中获得的荣耀和快乐,因为我们就会 ...
- 基于Laya游戏引擎实现微信小游戏排行榜
我们都知道,微信小游戏和小程序目前风头十足,很多公司都逐渐增加了相关业务线来迅速推广自己的产品和抢占用户群.说到微信小游戏,就不得不提到排行榜这个功能,就目前游戏行业,似乎都离不开排行榜这个重要功能, ...
- 白鹭引擎开发微信小游戏新手教程文档
开发环境准备 • Egret Launcher 1.0.32 以上版本(包括 1.0.32) • 白鹭引擎 5.1.2 以上版本(包括 5.1.2) • 准备最新版微信开发者工具.下 ...
- 白鹭引擎开发微信小游戏进阶教程文档
注意: • 因为小游戏特殊机制,涉及到的小游戏接口主要逻辑都需要写在小游戏逻辑代码内,但是可以通过 Egret 代码来调用 • 后续版本 Egret 将会提供调用小游戏接口模板,届时大家可 ...
- 白鹭引擎开发微信小游戏: API 调用教程文档
如何在 Egret 中调用小游戏 API 在 Egret 中是可以直接调用小游戏的 API 的,这篇文档简要介绍如何在 Egret 中使用小游戏的 API. 新增 platform.ts 文件 在 ...
- 新手入门:如何用Laya开发微信小游戏?
1.环境准备 1.1 LayaAirIDE 1.7.14版本才开始集成微信小游戏开发. 1.2 微信小游戏开发工具 微信小游戏开发工具是小游戏开发与测试的环境,由于LayaAir引擎的开发者完全可以使 ...
- Laya之微信小游戏入门
1.环境准备 1.1 LayaAirIDE 1.7.14版本才开始集成微信小游戏开发 1.2 微信小游戏开发工具 微信小游戏开发工具是小游戏开发与测试的环境,由于LayaAir引擎的开发者完全可以使用 ...
最新文章
- php 7.1 寿命,PHP 7.1新特性
- 详解 Java 的八大基本类型,写得非常好!
- 肿瘤动物模型中需要注意的伦理问题
- 牛客题霸 NC7 买卖股票的最好时机
- Spring 架构图
- 音视频技术开发周刊 63期
- 计算机应用基础在powerpoint中,计算机应用基础PowerPoint习题1
- CentOS6.5下安装rzsz
- redhat5 oracle11g安装全程详解,RedHat5+Oracle11g安装全程详解.doc
- Jboss AS7 的一些配置备忘
- php继承和重载区别,php继承中方法重载(覆盖)的应用场合
- Java NIO学习篇之通道FileChannel详解
- Ubuntu 20.04配置FTP服务方法(非匿名登录)
- windows ***的搭建
- java 字符串 数字个数_Java 求一串字符串中字符,字母,数字的个数
- 机器人鸣人是哪一集_博人传鸣人出场集数 博人传佐助哪几集出现过
- 2020移动apn接入点哪个快_最新联通上网卡APN的设置方法
- 如何用C语言画立体几何图形,立体几何图形公式大全
- CrackMe003:NAG窗口(4C法)和浮点计算
- 部署LVS-DR集群
热门文章
- persevere的用法_词汇精选:persist的用法和辨析
- 一个少女17到27的荒唐情事,得到、失去、寻找、错过、追悔的故事。
- 网络游戏中的游戏模式如MMOPRG,PRG,NPRG等是什么意思?
- 技术文章写作及运营的技巧:分析篇 | 什么样的文章受欢迎?
- Ubuntu18.04系统下,图像处理开源软件库 Opencv3.4.11的安装、编译及应用初步
- ITEye改版 今天看仍是不舒服
- 什么是拉斯韦尔传播模型
- 学习目标检测YOLO系列1--机器学习基础知识储备
- 零基础创作专业wordpress网站05-将主页面设置为主页
- 华硕B85M-E BIOS NVME m.2 mmtool4.5 硬盘提速25倍