Egret 5.4 正式发布,将5.3版本升级为稳定版

各位开发者好:

白鹭引擎团队在 2021年2月4日发布白鹭引擎5.4稳定版。这个版本将 5.3.x 版本中的诸多体验特性不断完善,并最终形成了稳定的5.4版本。

除了 5.3.x 系列版本中为开发者带来的特性之外,这个版本还包含了如下新特性:

白鹭构建管线

将 egret run 命令引入构建管线。现在开发者可以通过修改scripts/config.ts中的相关代码来定制egret run命令执行时的触发逻辑;
将 WebpackDevServerPlugin 的调用从默认的 egret build触发修改为 egret run触发;
提供了 StartServerPlugin ,开发者可以使用这个插件来实现原 egret run命令的调试服务器功能;
修改了新项目的默认构建管线配置。
上述改动的主要目标是将引擎在 5.3.x 版本中引入的基于 Webpack 的增量编译功能的调用从egret build触发修改为 egret run触发 ,以便使得 build / publish / run 三个命令更符合其语义,并解决因此产生的当在 build 管线中配置 WebpackDebServerPlugin 会导致 Egret Launcher 发布项目时卡死的问题。

新增发布目标:淘宝创意互动平台-小部件
一、创建项目

使用最新版的 Egret Launcher 创建一个 Egret 游戏项目,或者将原有的 Egret 项目导入;
Egret 5.4 正式发布,将5.3版本升级为稳定版
导入或者创建完成后,会在 Egret Launcher 的列表里看到该项目。点击发布设置:
Egret 5.4 正式发布,将5.3版本升级为稳定版
选择 创意互动小部件 标签,点击确定,创建淘宝项目;
Egret 5.4 正式发布,将5.3版本升级为稳定版
创建成功后,点击发布标签,可以可视化的发布小游戏包;

游戏代码类型:把白鹭工程里的代码编译淘宝项目里;
• debug:js 代码不进行 uglify 混淆,便于 debug 调试;
• release:js 代码进行 uglify 混淆压缩;

淘宝创意互动项目结构;
Egret 5.4 正式发布,将5.3版本升级为稳定版
widget/component 目录:

• index.css:小部件的样式文件,一般不需要修改;
• egret.tbgame.js:白鹭适配层文件;
• index.axml:小部件入口页的页面结构;
• index.js:小部件入口文件;
• index.json:小部件的配置文件;
• tools 文件夹:一些工具类,不要修改;

widget 目录:
• js文件夹:白鹭项目编译出来的游戏代码;
• resource文件夹:游戏的图片、音频等资源文件。目前小部件不支持本地文件读取,因此需要把资源部署到网络环境进行加载;
• manifest.js:用于加载依赖的 js 文件;
• plugin.json:小部件的插件配置 ,详情参见淘宝开放平台/文档中心·商家应用/插件开发与上架/插件开发文档;
• mini.project.json:用于配置项目用到的文件格式,如果用到了特殊的文件格式,需要在这配置;
• client 文件夹:淘宝创意互动应用主题部分;

二、在手机中调试
下载开发者工具
点击【小程序】->【打开项目】,选择刚才创建好的淘宝创意互动小部件项目;
Egret 5.4 正式发布,将5.3版本升级为稳定版
项目类型,选择【小程序插件】;
Egret 5.4 正式发布,将5.3版本升级为稳定版
在面板的左上方关联应用,点击右上方的真机调试,编译完成后,使用手机淘宝APP,扫码调试;
Egret 5.4 正式发布,将5.3版本升级为稳定版
JavaScript 渲染器
[新增] Component 增加移除数据监听方法 unwatchAll;
[优化] 针对 ios14 优化了渲染方法;
[修复] 修复安卓手机切换到安全键盘后无法还原的问题;
[修复] 修复 RES.loadGroup 遇到加载错误无法捕获的问题;
[修复] 修复富文本字号为 0 时以及颜色为纯黑(0x000000)时,文本显示异常问题;
[修复] 修复页面失去焦点后,声音无法恢复播放的问题;
[修复] 修复 webgl 模式下,getPixels 获取数据与 canvas 模式不同的问题;
[修复] 修改 socket 库,提供 URI 方法,可修改协议为 wss/ws;
[修复] 修复 MovieClip 中 gotoAndPlay 方法的部分播放状态异常问题;
[修复] 修复 eui commonjs 模式下的使用异常问题;
[修复] 修复位图字体的图片资源重复加载的问题;
[修复] 修复位图文本 cacheAsBitmap 后,修改文本不触发重新渲染的问题;
[修复] 修复文本输入机制,防止部分输入法多次触发;

后续路线图
在 5.4.0 版本发布之后,白鹭引擎团队会从三个方面同时入手进行后续迭代。

一、5.4 版本长期支持

根据开发者反馈,在 5.4.0 的基础上进行小规模代码优化与BUG修复;

二、Egret 6.0 开发
我们计划在 Egret 6 中在保证现有功能100%向下兼容的前提下,对白鹭引擎源代码进行 JavaScript 现代化改造,以便支持如下新特性:

更强大的类型检查能力;
eui 皮肤尺寸大幅改善;
针对音乐音效功能提供更好的支持;
全新开发的资源编译器,带来更为无缝的开发体验;
以上开发内容我们已经在一个月前开展,并在 https://github.com/egret-labs/egret 上以开源的形式进行开发,开发者可以随时在 GitHub 上了解我们当前的最新进展并加入代码贡献者的行列中。

Egret 6 的设计目标仍然是允许所有开发者以较低的移植成本将他们的现有项目移植到 Egret 6 中。这部分的工作量预计大于 Egret 5.2 升级至 Egret 5.4,但是远远小于从 Egret 迁移至 Egret Pro。

三、Egret Next
整个 Egret 6.0 的设计我们将在开发编译期进行大胆设计,在运行时上采用相对保守的迭代,这样可以尽最大限度的保证引擎面向最终用户时的稳定性。但是引擎团队也在同时在引擎的渲染架构和框架设计上进行大胆的革新,但是这些功能并不会作为 Egret 6.0 的一部分直接加入到引擎中,而是在 2021年的下半年以新的方式与大家见面。

上一篇:2021-11-06 uniapp解决scroll-view滑动事件失效问题@scrolltolower


下一篇:uniapp引入iconfont图标