egret-docs-master/Engine2D/update/update401/README.md

84 lines
5.0 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters!

This file contains ambiguous Unicode characters that may be confused with others in your current locale. If your use case is intentional and legitimate, you can safely ignore this warning. Use the Escape button to highlight these characters.

## 概述
白鹭引擎包含了白鹭时代研发的遵循HTML5标准的游戏引擎。他包括 2D / 3D 渲染核心、GUI体系、音频管理、资源管理等游戏引擎的常用模块。
通过使用白鹭引擎开发者可以尽可能的不用关注浏览器的底层实现解决HTML5游戏性能问题及碎片化问题灵活地满足开发者开发2D或3D游戏的需求。
## 更新内容
* 命令行
* 参与编译的 TypeScript 文件列表由 tsconfig.json 进行开发者自由指定,与标准 TypeScript 项目行为一致
* 完善项目的文件结构,如果第三方库已经在项目中,不会重复拷贝至 libs/modules 文件夹中
* 修复一个由复杂文件排序引发的构建 BUG
* 修复了 egret publish 后, DEBUG 枚举仍然为 true 的 BUG
* 精简命令行体积,从 21mb 降低至 18mb并重构内部逻辑为未来进一步扩展做准备
* 新项目模板默认添加 Promise 支持
* 使用 egret upgrade 命令升级至 4.0.1 会为项目添加 Promise 支持
* 不再支持白鹭引擎 2.0 以下版本的项目升级至 4.0 版本
* 白鹭引擎 3D 渲染核心
* 允许在白鹭引擎中直接添加 3D 渲染模块,开发者可以在现有的 2D 游戏中,快速添加 3D 场景地形、人物、特效等功能,并复用游戏的现有 UI。
* 大幅提升 3D 渲染核心在低端机的表现,大部分 2014年出厂的旗舰机型 如小米4Nexus 5等均可流畅运行
* 降低部分 Shader 的编译时间,保证游戏的启动速度更快
* 略微提升整体性能,大约有 5% - 10% 的性能提升
* Unity 导出插件更新至最新版本
* 采用 TypeScript 2.1.4 编译
* 创建新的 3D 项目采用白鹭引擎的资源管理框架以及 2D UI
* 资源管理框架
* 修复加载 BitmapFont 类型文件可能报错的 BUG
* 完善多处 ```res```命令行和运行时的报错信息,提供更友好的错误提示
* 修复 ```res build```在文件删除之后资源配置文件不会正确同步删除的BUG
* 在创建项目时允许创建资源管理框架的示例项目
* 完善文档
## 升级策略
* 执行 egret upgrade 命令升级至 4.0.1 版本时,内部会执行以下逻辑
* 为 ```tsconfig.json``` 添加 ```lib:['es5','dom','es2015.promise']``` 字段
* 为开发者的项目中添加 ```polyfill/promise.js``` 文件
* 开发者请在升级后**手动**在您项目中添加对 ```polyfill/promise``` 的脚本引用,具体可以参见使用 4.0.1 创建的新项目的 ```index.html```文件
* 升级至 4.0.1 版本后,引擎不再强制读取项目中的 ```src``` 和 ```libs```文件夹进行编译,而是由 ```tsconfig.json``` 的 ```include``` 或 ```exclude``` 字段决定。
> 在 4.0.1 版本,目前仍然强制约定所有的 ```.ts``` 源文件必须在 ```src```文件夹中,而```.d.ts```文件可以定义在任意位置
> 如果需要排除特定文件夹不要编译,可以参考以下代码
> ```
> {
> "exclude" : [
> "node_modules",
> "src/somewhere/donot/compile/**/*.ts
> ]
>}
> ```
> 预计在下的版本4.0.2)中,源代码也将可以放置于任意文件夹
* 如果第三方库的路径在项目中,则不再将项目拷贝至 ```libs/modules``` 文件夹中,这一方面是为了确保不会因为上一条改变带来重复编译文件,另一方面也降低开发者的项目复杂度。
* 如果开发者由于特定原因,手动将引擎版本从 4.0.1 降级至 3.x请在降级后**手动**删除```tsconfig.json```中的```lib```字段。
## 已知问题
* 修改 ```tsconfig.json```后,执行 ``` egret build ``` 不会生效,需执行 ``` egret clean ```
## 路线图
白鹭引擎将在未来的半年内,重点解决以下问题:
* 将白鹭引擎进一步向 ES2015+ / npm 、标准 TypeScript 方向靠拢,提升开发者的开发效率。
* 引入模块化策略,允许开发者针对特定模块进行升级,以便尽可能降低已经在生产环境运行的游戏因为升级引擎带来潜在问题。
* 融合白鹭引擎的 2D 与 3D 渲染,并提升渲染核心的可扩展性,允许开发者更灵活的进行定制特效。
* 进一步完善资源管理框架,帮助开发者提升对资源加载、释放方面的开发效率,并降低流量消耗。
* 与 Egret Wing 配合,进一步完善 EXML / EUI 的机制,帮助开发者提升 UI 的开发与渲染效率。
* 重点解决开发者在2016年集中反馈的问题具体链接参见[这里](http://bbs.egret.com/thread-25005-1-1.html)
## 相关其他内容
* 白鹭引擎4.0 需要最新的 Egret Wing 4.0 配合,或将 WebStrom 等其他开发工具升级至较新版本以支持 TypeScript 2.1
* 骨骼动画的白鹭极速模式需要开发者将 DragonBonesPro 升级至4.8版本以上,建议使用最新的 5.0 版本
* 使用白鹭引擎开发原生游戏的工具( egret-ios-support / egret-android-support )将会很快以 Egret-Native的全新面貌发布