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

109 lines
6.0 KiB
Markdown
Raw Permalink 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.

Egret Engine 3.0 包含了白鹭时代研发的遵循HTML5标准的 2D 引擎及全新打造的 3D 引擎,它解决了 HTML5 性能问题及碎片化问题,灵活地满足开发者开发 2D 或 3D 游戏的需求,并有着极强的跨平台运行能力。
## Egret Engine 2D
在本次更新 Egret Engine 2D 中,调整了 FPS 面板样式输入文本支持设置弹出键盘类型HttpRequest 支持发送 ArrayBuffer 类型数据,并增加了鼠标事件支持扩展库。同时也修复了若干问题,下面是 3.1.1 到 3.1.2 的更新详情。
### 调整 FPS 面板样式
工欲善其事必先利其器,在 Egret 项目开发过程中 FPS 面板一直是非常重要的调试工具。在 Egret Engine 最新发布的 3.1.2 中提供了新的调试面板。可以更加直观方便的显示调试信息。
![](575e7da5ac883.gif)
#### 图形显示--更加直观方便
新的 FPS 面板最直观的改变时提供了 FPS 图形显示。与之前的纯数字显示不同FPS 和 Cost 信息提供了曲线面板的显示。
先来回顾一下 FPS 和 Cost 值所代表的含义。FPS 即帧频,每帧屏幕刷新的次数。在游戏中 FPS 是一个动态的值,帧频的高低反应着游戏的流畅度,比如一直保持 60 帧每秒的帧频,游戏是非常流畅的,如果在某个场景或某个时刻帧频突然降低,说明这里存在问题需要优化。新的 FPS 面板能很好的体现出帧频的变化曲线曲线的纵轴显示的是帧频的高低横轴表示时间FPS 窗口表示时间段内帧率的变化,而原有的 FPS 面板只能显示当前时刻数据。
Cost 的三个值分别表示 Ticker 和 EnterFrame 阶段显示的耗时,每帧舞台所有事件处理和矩阵运算耗时和绘制显示对象耗时单位是ms在新的 FPS 面板中也使用图形表示,可以查看当前窗口内消耗的变化。
#### 更详细的信息
在新的 FPS 面板中提供了更丰富的调试信息。首先除了原有的帧率显示外提供了渲染模式的显示,可以看到当前的渲染模式时 Canvas 还是 WebGL 模式。
提供了 FPS 的最大,最小和平均信息。可以很好的获得当前 FPS 信息的简单统计,对游戏中帧数变化有更明确的显示。
#### 其他
新的面板是绘制在一个单独的 div 标签内,不再随引擎的缩放模式而改变大小,这样就可以保证文字的清晰度始终是一致的。
需要注意的是在老项目中使用性能监控面板,建议您在 index.html 中修改一下文字大小和配色方案。
在 IE11 以下的浏览器中FPS 面板会遮挡舞台,触摸事件无法穿透,建议您调试的时候使用 Chrome 浏览器。
更多关于调试面板的教程参考:[新的 FPS 面板](http://edn.egret.com/cn/docs/page/1024) 和 [如何开启 FPS 面板](http://edn.egret.com/cn/docs/page/605)
### 输入文本支持设置弹出键盘类型
在 Egret 3.1.2 中更新了设置输入文本样式,现在支持 3 中输入样式即普通文本(默认),密码和电话号。设置不同的类型输入的样式和手机上弹出面板是不同的。设置密码样式输入时显示密码,设置电话号样式输入时在手机上弹出数字输入面板。
设置输入文本样式首先要设置 TextField 的 TextFieldType 为 INPUT 类型。然后设置 TextField 的 inputType 即可。
```
var text:egret.TextField = new egret.TextField();
//设置输入文本
text.type = egret.TextFieldType.INPUT;
//设置输入类型为 TEXT还可设置为密码PASSWORD或电话号(TEL)
text.inputType = egret.TextFieldInputType.TEXT;
text.text = "输入文本:";
text.width = 300;
this.addChild(text);
```
![](575e7da5c32aa.png)
设置不同的输入文本样式,不同效果如上图所示,可以看到在文本样式下弹出默认输入法,在密码样式下弹出英文输入法,在电话号样式下弹出数字输入。
更多关于输入文本的教程:[输入文本](http://edn.egret.com/cn/docs/page/292)
### HttpRequest 支持发送 ArrayBuffer 类型数据
HttpRequest 新增支持发送 ArrayBuffer 类型的数据,在 POST 请求中可以直接发送 ArrayBuffer 类型的数据。
```
var buffer = new ArrayBuffer(12);
var x = new Int32Array(buffer);
x[1] = 1234;
var httpRequest = new egret.HttpRequest();
httpRequest.open("http://httpbin.org/post",egret.HttpMethod.POST);
httpRequest.send(buffer);
```
发送 ArrayBuffer 类型数据与其他数据相同,直接将数据传入 send() 方法内即可。
更多关于 HttpRequest 的教程:[发送HTTP请求](http://edn.egret.com/cn/docs/page/589)
### 增加 PC 鼠标事件支持第三方库
随着新版本的引擎发布,[Egret Game Library](https://github.com/egret-labs/egret-game-library)更新了鼠标事件支持库,[鼠标事件支持库](https://github.com/egret-labs/egret-game-library/tree/master/mouse),引用鼠标支持库即可监听 PC 上的鼠标事件。鼠标支持库支持鼠标移动,悬停,移出等多个事件。同时也可设置鼠标手型。
获取鼠标事件支持库:[鼠标事件支持库](https://github.com/egret-labs/egret-game-library/tree/master/mouse)
关于鼠标事件支持库的使用教程:[鼠标支持库](http://edn.egret.com/cn/docs/page/1026)
### 修复问题
* 修复 WebGL 绘制矢量图形可能错乱问题。
* 修复对容器设置滤镜引发脏矩形绘制错误问题。
* 修复不规则遮罩在 native 显示异常问题。
* 修复 ProgressBar 布局错误问题。
* 修复在 Wing 中构件项目经常报错问题。
* 修复 RenderTexture 绘制之后显示对象属性设置无效问题。
* 优化对容器设置滤镜渲染。
### 获取 Egret Engine
Windows 安装包下载地址:[点击这里](http://tool.egret-labs.org/EgretEngine/EgretEngine-v3.1.2.exe)
Mac 安装包下载地址:[点击这里](http://tool.egret-labs.org/EgretEngine/EgretEngine-v3.1.2.dmg)
Egret Engine 2D 源码地址:[点击这里](https://github.com/egret-labs/egret-core/tree/v3.1.2)
Egret Engine 3D 源码地址:[点击这里](https://github.com/egret-labs/egret-3d/tree/rc/3.1.2)