为了更好的提升微信小游戏的打开速度,提高用户体验,微信正式发布了引擎插件功能,白鹭引擎第一时间支持并正式发布支持该功能的5.2.31版本。以下是白鹭引擎插件使用的详细说明文档及常见问题解答,请诸位开发者小伙伴仔细阅读。

什么是引擎插件

我们发布微信小游戏的时候,里面会带有egret.min.js、eui.min.js之类的库文件,玩家每次打开一个小游戏,都要重复的下载这些文件。现在我们把白鹭引擎做成了微信的插件, 5.2.x系列的所有版本都上传到了微信服务器上,开发者只要在项目里进行配置,就可以使用远端的插件,不使用本地的引擎文件。

这样的好处是,如果一个玩家玩了A游戏,里面使用了5.2.20版本的引擎插件。然后他又玩了B游戏,如果B游戏的引擎插件版本和A游戏一致,那么这个插件就不需要重新下载。这样就可以提高游戏的打开速度,获得更好的用户体验。

白鹭引擎插件使用和调试环境

1、白鹭引擎5.2.31 版本;2、微信开发者工具调试Nightly版本(>=1.02.1910252);注意:正式版还不支持插件功能;3、在Android微信和iOS微信的7.0.7版本(>=7.0.7),可直接体验和测试插件分离功能。使用了插件分离的小游戏,在console日志中会输出:plugin ***** inject success/fail!;4、由于微信开发者工具的bug,使用测试版的 APPID 在开启插件功能时会报错,必须使用在微信后台注册过的正式版 APPID 才可以。5、目前一个APPID,只支持引用一个插件;6、目前支持整包小游戏使用插件,以及分包小游戏的主包使用插件。

白鹭引擎插件使用方法

1、在Egret Launcher里下载引擎5.2.31版本,使用该版本创建一个游戏项目;2、打开项目中的scripts/config.wxgame.ts文件,将useWxPlugin变量改为true;

3、在发布成微信小游戏release版本后(egret publisb –target wxgame),会开启插件功能。debug调试版(egret build –target wxgame)不支持该功能。

老项目升级:

在老项目中执行 egret upgrade –egretversion 5.2.31 后会把项目升级成支持插件的版本。

使用其他版本的引擎:

如果您的项目不想使用最新的5.2.31版本,要使用其他版本,例如5.2.16之类的引擎,那么可以做如下操作:

1、使用最新版引擎5.2.31创建一个新项目,把这 3 个文件拷贝到老项目里替换原有文件;

注意:其中的wxgame.ts里会对js文件做一定的修改,一定要使用我们提供的方法,不要对这块做任何的修改。因为微信会对js文件做MD5校验,任何修改都会改变MD5值。

2、在老项目根目录的egretProperties.json里,把compilerVersion编译器版本改成 5.2.31。比如在本示例中,引擎代码还是5.2.16的,但是编译脚本使用引擎5.2.31,这样就能支持把游戏发布成开启微信插件的形式了。

使用引擎插件的微信小游戏项目结构说明

1、在之前的微信小游戏项目里,我们会把所有的引擎文件和游戏逻辑文件都放在js文件夹内;

2、在新的项目结构里,增加了一个egret-library文件夹:

egret-library:放的是引擎库文件;

js:放的是项目里的其他js文件,比如游戏逻辑文件main.min.js;

3、微信开发者工具打包上传的时候,会自动生成两个包:

带egret-library文件夹的包:不支持插件功能的老版本微信,会调用这个文件夹内的引擎文件;

不带egret-library文件夹的包:支持插件功能的新版本微信会读取这个包,直接调用微信服务器上的引擎插件。

FAQ

问:引擎插件里都包含哪些库?

答:包含白鹭引擎官方提供的 7 个库,注意:只包含发布版的 xx.min.js, 不包含调试版的xx.js。具体的文件列表如下:

问:如果为了让包体小一些,不考虑兼容老版本微信的玩家,只使用远程插件里的引擎。是否可以不在小游戏项目里放一份引擎,这样可以吗?

答:理论上是可以的,但是微信官方不建议这么做。另外如果使用引擎插件功能,包的总大小会算上线上插件里的引擎代码,所以您自己衡量是否值得。

问:我对引擎做了修改,还可以使用远程插件吗?

答:不能做任何修改,而且必须用官方提供的编译配置文件 script/wxgame/wxgame.ts里的默认参数发布 。因为微信会校验本地和插件里 js 文件的 MD5 值,只要做了任何一点修改, MD5 值就会不一致,那么微信会调用本地的这个 js 版本,不会使用远程插件里的。

以上就是本次5.2.31更新全部内容,欢迎各位开发者更新体验最新的引擎插件功能。

微信小游戏html5教程,微信小游戏白鹭引擎插件使用教程相关推荐

  1. 微信小程序html5音频,微信小程序音频怎么开发?10分钟看懂(官方教程)

    想安静听歌,即使退出小程序也不会被中断: 最好还能在系统播放面板上控制小程序音频: 电话/闹钟响起时,小程序音频最好"识时务"自动暂停-- 面对用户对小程序音频能力的种种需求,开发 ...

  2. html5抢红包游戏,HTML5手机微信抢红包福利袋游戏代码

    HTML5手机微信抢红包福利袋游戏代码 HTML5手机微信抢红包福利袋游戏代码是一款手机移动端红包雨效果源码. js代码 $(function(){ var countdown=$(".co ...

  3. 儿童游戏html5,H5儿童小游戏的设计与探索

    为了迎接六一鹅童节的到来,"ABCmouse如何在众多教育竞品及各类节日广告中脱颖而出?"成为了近一个月团队最关切和热门的探讨点.团队在成本有限的情况下,高效执行,终于如期上线,接 ...

  4. html坦克游戏,HTML5制作的坦克游戏

    HTML5制作的坦克游戏 本游戏是基于HTML5开发的 网页游戏,js,css辅助开发 源码如下: 坦克大战 坦克大战(请使用IE浏览器) style="background-color:b ...

  5. html塔防游戏,HTML5 版塔防游戏

    HTML5 版塔防游戏来自老杰的博客,本人很喜欢这款游戏.就转载到苏岳宁博客里,希望更多的朋友看到试玩这款TD游戏吧!下面是游戏进行时的截图: 下文来自老杰的博客: ---------------- ...

  6. 微信小程序html5音频,微信小程序 audio音频播放详解及实例

    loop:是否循环播放 id:标注唯一组件以this.audioCtx = wx.createAudioContext('myAudio')获取控制组件的对象. bindplay:播放时触发该事件 b ...

  7. 微信里嵌入html5页面,微信小程序web-view嵌套H5实现微信支付功能解决方案

    一. 产品现状 首先,在接入微信支付功能以前,我们的产品情况是这样的: 1 有公众号和app的h5站点及相关配套功能 2 小程序已经有一些基础功能,这些功能没有使用web-view 3 小程序之前的服 ...

  8. html5赛车小游戏,html5公路赛车小游戏

    天空依然蓝- 0 2020/6/12 15:19:58 不知道为啥,有时可以加载,有时又加载不出来car.html: 1 Uncaught( in promise) Objectmessage: (. ...

  9. 微信公众号 html5 打赏,微信公众号赞赏功能升级,以后可直接打赏作者了!

    微信公众号可以"直接打赏"作者了. 今天早上7点52分,微信公众号平台正式推送消息称,公众号赞赏升级为"喜欢作者",以后作者可以直接收到读者的赞赏了! 值得一提 ...

最新文章

  1. centos 脚本基础练习1
  2. ​两大顶级AI算法一起开源!Nature、Science齐发Alphafold2相关重磅,双厨狂喜~
  3. Oracle RAC一节点宕机导致另一节点HANG的问题分析
  4. 组策略 从入门到精通 (一) 组策略的还原与备份和汇入
  5. 快速了解什么是自然语言处理
  6. 按群计数10以内_大班数学活动:按群计数
  7. HAproxy编译安装
  8. 简记Ubuntu下载 Android源码
  9. Protel99se基本教程 Protel 99SE从零开始学习教程视频教程
  10. MapGIS 6.7 数字非标准分幅影像校正方法
  11. 大数据应用领域都有哪些(一)
  12. react + better-scroll 横向滚动案例
  13. 研究生学习生活日记——slow down
  14. linux 实时查看cpu温度
  15. 溢出英语计算机,查看溢出(简述计算机溢出原理)
  16. layui控制table列长度_layui表头宽度和表格一致_天天都要用的10个word表格技巧,工作再忙都要学会!!......
  17. 【2016新年版】年度精品 XP,32/64位Win7,32/64位Win8,32/64位Win10系统
  18. 2021年秋招面经分享·平头哥【芯片设计/验证/DFT工程师】
  19. python画钟表代码_Python技能操作5:用代码做个能挂墙上的大钟表
  20. MQ消息队列(三)RabbitMQ及Erlang安装过程中常见问题

热门文章

  1. 移动电源怎么选好?最好的移动电源推荐
  2. 廉价版新iPad来了!但苹果史上最短短短短发布会却被吐槽惨了
  3. linux环境docker搭建pptp服务器
  4. springboot使用DOM4J解析XML文档
  5. 云展网教程 | 如何分享杂志到各种平台?
  6. 物流管理方法,快递信息如何保存和查看
  7. Mysql备份——mysqldump
  8. 用户查出本人所有待办流程
  9. 【PHP】php7.4自定义扩展的编写WINDOWS篇
  10. python回溯算法