白鹭引擎 
废弃
安装配置 
- 用的 2d 的 EgretLauncher 引擎。
 - 安装 EgretLauncher 和 EgretWing 这两个工具。 wing 是开发时的工具,貌似是基于 vscode 的。
 - 按照网络的教程,选择配置,很容易就生成项目了。
 - 白鹭是用 typeScript 进行开发。
 
开始使用 
生成项目后,会有一个简单的游戏界面。
.
├── bin-debug
├── egretProperties.json  -- 白鹭引擎属性配置
├── favicon.ico
├── index.html
├── libs
├── manifest.json
├── resource  -- 静态资源
├── scripts  -- 执行命令
├── src  -- 开发文件
├── template  -- 模板
├── tsconfig.json  -- typeScript 配置
└── wingProperties.json// src/
.
├── LoadingUI.ts
├── Main.ts
├── Platform.ts默认有三个 ts 文件。Main.ts 是入口文件。
public constructor() {
        super();
        this.addEventListener(egret.Event.ADDED_TO_STAGE, this.onAddToStage, this);
    }基本这里是程序开始的地方。
基本命令 
- egret build -e (构建项目,把配置的 module 引入)
 - egret create_lib plugin_name (生成插件项目)
 - egret startserver -a (进行开发,-a 是保存就自动编译)
 
坑点 
白鹭里面开发,是不能使用 import、export ,模块化开发。。。。在某个文件声明了一个类后,等于在全局声明了一个变量,然后任何文件任何地方都可以使用。
如何导入第三方库 
一开始看文档,库项目配置那里,看得有点晕,要结合两个文档(而且在不同的位置。。。)才行。
这里说下如何导入第三方库。就拿 axios 为例。
// 创建第三方库文件夹(没错,要先创建一个项目才行)
egret create_lib axios
mkdir bin
mkdir src
// 把你的库文件放到 src 里面。同时生成一个 xxx.d.ts 文件
vi axios.d.tsaxios.d.ts 如何编写大家就上网看看吧。我只是简单得定义下而已。
declare const axios: any;
package.json
{
 "name": "axios",
 "compilerVersion": "5.1.9",
 "typings": "src/axios.d.ts"
}tsconfig.json
{
 "compilerOptions": {
  "target": "es5",
  "noImplicitAny": false,
  "sourceMap": false,
  "allowJs": true,
  "outFile": "bin/axios.js"
 },
 "files": [
  "src/axios.js"
 ]
}最后 egret build 就生成第三方库了。
然后回到项目文件夹,在 /egretProperties.json 的 modules 中添加你的第三方库
{
  "name": "axios",
  "path": "./../plugin/axios"
}path 是你的第三方库的路径。最后 egret build -e 构建项目后,就可以使用 axios 了。
记录 
对象与容器 
在Egret中,所有的容器都继承自 DisplayObject 。
对象的 x 和 y 属性始终是指显示相对于其父显示对象坐标轴的 (0,0) 坐标的位置,可以通过 容器的一个方法 globalToLocal 转换到舞台的坐标。
- 添加对象: 
this.addChild(obj) - 删除对象: 
this.removeChild(obj) 
注意:
同一个显示对象无论被代码加入显示列表多少次,在屏幕上只绘制一次。
如果一个显示对象A被添加到了B这个容器中,然后A又被添加到了C容器中。那么在第二次执行 C.addChild(A) 的时候,A自动的从B容器中删除,然后添加到C容器中。
事件 
添加事件:
object.addEventListener(type, listener, thisObject, useCapture, priority)触摸事件,要开启权限才能启用
显示对象实例.touchEnabled = true事件类型:
TOUCH_BEGIN:当用户第一次触摸启用触摸的设备时(例如,用手指触摸配有触摸屏的移动电话或平板电脑)触发
TOUCH_CANCEL:由于某个事件取消了触摸时触发
TOUCH_END:当用户移除与启用触摸的设备的接触时(例如,将手指从配有触摸屏的移动电话或平板电脑上抬起)触发
TOUCH_MOVE:当用户触碰设备并移动时进行触发,而且会连续触发,直到接触点被删除
TOUCH_TAP:当用户在触摸设备上与开始触摸的同一 DisplayObject 实例上抬起接触点时触发(相当与点击事件)例子:
this.obj.addEventListener(egret.TouchEvent.TOUCH_MOVE, onMove, this)RES 模块 
RES 对象是用来获取静态资源的方法,有异步和同步。可以先通过 loadConfig 和 loadGroup 先加载了资源。等到需要用的时候,再用 getRes 和 getResAsync 获取对应的资源
EUI 模块 
通过编写 exml 格式的文件,编写 UI 组件。