Egret(引擎篇)
Egret
Egret(引擎篇)一、什么是Egret?二、Egret1.常用文件配置2.显示对象3.坐标系4.显示列表与容器类5.时间与用户交互5.布局
一、什么是Egret?
Egret Engine是一个基于TypeScript语言开发的HTML5游戏引擎,Egret 引擎专注于移动设备上的HTML5 游戏开发,为HTML5 游戏开发者提供了无可比拟的快捷开发游戏的方式。
引擎特点:
简洁易用,上手难度低;配套工具完善;性能高效,Egret完全使用HTML5标准中的canvas技术。极大程度上保证了使用Egret引擎开发的游戏在各个浏览器上的兼容性;完全开源免费
二、Egret
1.常用文件配置
wing:包括 Egret 项目的任务配置文件和启动配置文件;wingProperties.json:Egret Wing 项目配置文件;bin-debug:项目调试时,所产生的文件存放于此目录;libs:库文件,包括 Egret 核心库和其他扩展库存放于此目录;resource:项目资源文件存放于此目录;scripts:项目构建和发布时需要用到的脚本文件存放在此目录;src:项目代码文件存放于此目录;template:项目模板文件存放于此目录;egretProperties.json:项目的配置文件;index.html:入口文件;manifest.json:网页清单文件;tsconfig.json:typescript 编译配置文件;
引入第三方库方法: 打开egretProperties.json ,修改如下:
{
"name": "game",
//"path": "../path" 库文件路径
}
打开终端(ctr+shift+y)输入: egret build -e 即可导入
2.显示对象
egret渲染架构中,能够参与渲染的对象都抽象为显示对象;egret引擎中说有的显示对象类型表格:
类说明displayObject显示对象基类,所有的显示对象继承自该类Sprite精灵图片Bitmap显示位图Shape用于绘制2D矢量图形MoveClip逐帧动画Stage舞台类,是游戏中的主场景ScrollView滚动拖放类,可以让你的一个显示对象在一定范围内TextField文本类BitmapText位图文本
3.坐标系
egret引擎的坐标原点位于舞台的左上角。
4.显示列表与容器类
1. 所有的容器全部继承于DisplayObjectContainer类 2. DisplayObjectContainer类中封装了显示列表仓用的功能
添加/删除子对象访问子对象检测子对象设置叠放次序
3.添加显示对象到显示列表 this.addChild(shape); 4. 删除显示对象 this.removeChild(shape);
5.时间与用户交互
1. 事件消息机制
egret引擎中提供了与js一样的事件处理系统,并且在此基础上还提供了一个事件处理对象,通过一整套的事件处理机制,可以方便的响应用户交互输入与系统事件。
2. 事件类
事件类是承载事件信息以及一些事件处理方法的对象。每个事件都有关联的事件类型。事件类型以字符串的形式存储在Egret.Event.type属性中常见的事件对象:
触摸事件 egret.TouchEvent声音事件定时事件文本事件网络加载状态事件I/O错误事件egret.IOEvent等等
创建监听器 想要使用一个对象监听某个时间,首先使用addEventListener方法来注册事件监听器。
事件接受对象.addEventListener(事件类.事件类型,事件处理函数,事件处理函数的this对象);
事件接受对象.removeEventListener(事件类.事件类型,事件处理函数,事件处理函数的this对象);
5.布局
屏幕适配 移动设备上存在各种分辨率,如何能够使用一套代码写出适应各种分辨率的UI界面,显得尤为重要。
完美的屏幕适配分为两个步骤: 1.舞台尺寸(Stage.stageWidth,Stage,stageHeight)与设配屏幕的适配关系。 2.内部UI界面与舞台尺寸的适配关系。
通常所说的屏幕适配大多是做到了第一点,都是通过scaleMode来决定舞台尺寸;EUI,通过引入自适应流式布局(自动布局),能够解决第二步骤的屏幕适配;
注:在egret中需要注意anchoroffset的设置是相对于自身,这一点在做skew旋转时深有体会。