Egret(引擎篇)


Egret

  • Egret(引擎篇)
  • 一、什么是Egret?
  • 二、Egret
    • 1.常用文件配置
    • 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.显示对象

  1. egret渲染架构中,能够参与渲染的对象都抽象为显示对象;
  2. 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属性中常见的事件对象:
    1. 触摸事件 egret.TouchEvent
    2. 声音事件
    3. 定时事件
    4. 文本事件
    5. 网络加载状态事件
    6. I/O错误事件egret.IOEvent等等
  • 创建监听器
    想要使用一个对象监听某个时间,首先使用addEventListener方法来注册事件监听器。

    事件接受对象.addEventListener(事件类.事件类型,事件处理函数,事件处理函数的this对象);
    事件接受对象.removeEventListener(事件类.事件类型,事件处理函数,事件处理函数的this对象);
    

5.布局

  • 屏幕适配
    移动设备上存在各种分辨率,如何能够使用一套代码写出适应各种分辨率的UI界面,显得尤为重要。

  • 完美的屏幕适配分为两个步骤:
    1.舞台尺寸(Stage.stageWidth,Stage,stageHeight)与设配屏幕的适配关系。
    2.内部UI界面与舞台尺寸的适配关系。

    • 通常所说的屏幕适配大多是做到了第一点,都是通过scaleMode来决定舞台尺寸;
    • EUI,通过引入自适应流式布局(自动布局),能够解决第二步骤的屏幕适配;

注:在egret中需要注意anchoroffset的设置是相对于自身,这一点在做skew旋转时深有体会。

Egret(引擎篇)相关推荐

  1. egret与php相连,JavaScript_Mac OS X 系统下安装和部署Egret引擎开发环境, 概述 Egret基于TypeScript开 - phpStudy...

    Mac OS X 系统下安装和部署Egret引擎开发环境 概述 Egret基于TypeScript开发的,而TypeScript编译工具tsc是基于Node.js开发的.所以在安装过程中,我们先需要对 ...

  2. 白鹭安装node_Mac OS X 系统下安装和部署Egret引擎开发环境

    概述 Egret基于TypeScript开发的,而TypeScript编译工具tsc是基于Node.js开发的.所以在安装过程中,我们先需要对于基础支持工具进行安装.需要安装的软件如下: Node.j ...

  3. egret发布的HTML5项目怎么打开,Egret引擎开发指南之发布项目

    在Egret中,使用发布功能也非常的简单.你只需要使用如下命令即可: egret publish HelloWorld 此命令中egret publish为发布命令,HelloWorld是你当前项目的 ...

  4. Egret引擎制作旅行青蛙

    项目成品试玩链接:http://www.6edu.top/190503095046/index.html 因为本人已经开始考研了,时间不是特别充足,项目制作的比较简陋,还请见谅.(本人利用五一假期进行 ...

  5. egret可以用php做后端吗,Egret引擎开发指南之创建项目_node.js

    Egret提供非常方便的创建工具,我们把创建后的文件总和称之为项目.在后面的操作中,我们对创建的项目进行操作,具体创建步骤如下: 需要注意的是Egret支持Windows和Mac OS X 两个平台. ...

  6. egret可以用php做后端吗,Egret引擎开发指南之发布项目_node.js

    在Egret中,使用发布功能也非常的简单.你只需要使用如下命令即可: egret publish HelloWorld 此命令中egret publish为发布命令,HelloWorld是你当前项目的 ...

  7. 白鹭(egret)引擎安装及使用

    提示:文章转载需要博主同意 白鹭引擎安装 前言 一.白鹭引擎是什么? 二.白鹭官网 1.访问官网 2.下载 三.安装 四.打开 五.主界面 总结 想一起讨论/学习微信小游戏开发的,GO语言开发的,请微 ...

  8. 【cocos2dx面试题干货】--2021年最新cocos2dx面试干货(引擎篇)

                [cocos2dx面试题干货]--2021年度最新cocos2dx面试干货(引擎篇 )     大家好,我是Lampard~~   经过春招一番艰苦奋战之后,我终于是进入了心仪 ...

  9. Egret引擎与Android端的交互----小白教程(含坑)

    最近在接触一个新事物,Egret引擎.话说一个用于开发Html5游戏的引擎,其使用js的超集.ts的TypeScrice来开发. 而,最近的需求是,需要把利用这个Egret引擎开发的Html5游戏与公 ...

  10. egret引擎下,微信分包,微信登陆,微信分享例子

    egret引擎下,微信分包,微信登陆,微信分享例子 https://github.com/ChenXianbin/egret_kit/tree/%E5%88%86%E5%8C%85%E5%8A%A0% ...

最新文章

  1. 5 年提速 500 倍,英伟达 GPU 创纪录突破与技术有哪些?
  2. 《网络操作系统》课后习题答案
  3. Kail Linux渗透测试教程之免杀Payload生成工具Veil
  4. 现代操作系统: 第一章 引言
  5. STM32F系列USART的IDLE中断要注意了
  6. html显示假的图片路径,实现自己网站的图片假水印功能
  7. 二十年后我发明了保姆机器人作文_五年级作文:二十年后的家乡(张羽彤)
  8. 自己动手制作chm格式开源文档
  9. 饿了么超级会员,年卡低至108元!饿了么会员,点外卖超省钱!
  10. html5 网络断开,html5 – websocket不断断开连接
  11. BugkuCTF-MISC题telnet
  12. gps数据解析程序c语言,GPS数据采集分析要点
  13. Ros自定义消息及使用
  14. 智商情商哪个重要_智商与情商哪个更重要 辩论
  15. iOS9 In-house 未受信任的企业级开发者
  16. 录像机中码流类型中定时、事件、网传代表什么意思?
  17. java-php-python-ssm企业人事管理系统计算机毕业设计
  18. iOS 机智的修改导航栏返回事件
  19. 考研线性代数知识导图
  20. 【操作系统】计算机系统概述

热门文章

  1. word文档 批量添加上标、下标
  2. CSS3之box-shadow(阴影)和border属性
  3. isolation cell、levelshifter
  4. 张正友相机标定法原理与实现
  5. textbox提示文字属性_《我来自江湖》MUD类武侠题材多样性玩法的单机文字游戏...
  6. 求助文,缺少stubs-n32_hard.h
  7. STM32进行软件调试步骤:
  8. 比较指令-汇编码分析
  9. WIN7不能访问共享文件夹
  10. react加水印_【REACT】 水印生成方案