软件介绍

(一)Egret Engine多版本系统

(二)Egret Wing 强大的IDE工具

(三)ResDepot 资源管理工具

(四)Texture Merger:资源打包工具

1. 精灵表输出

Texture Merger可将零散的小图合并为大图文理集,提高资源加载速度和游戏性能,在游戏研发过程中,开发者可使用小图开发,在产品发布时对资源进行合并,无须修改代码

2. MovieClip动画旋转

Twxture Merger可方便地将GIF或SWF动画转换为Egret支持的动画格式

3. 位图字体

为高品质游戏的个性文字效果输出提供了方便快捷的解决方案

案例:Hello World绘制一个圆

项目代码目录

1.Main.ts为项目入口类,也成为文档类,文档类时衔接项目运行容器环境与项目中所有类的重要文件,

2. oadingUI.ts是加载过程中的辅助显示组件,用来显示加载进度

项目配置文件

1. 模块配置modules

模块配置中,列出项目所需的各个模块,默认新建项目会包含core模块和res模块。core模块是一个核心模块,通常使用Egret开发项目,这是必选项,因为引擎中提供的大部分基础类库都处于这个模块,res模块也是相当常用的模块,只要涉及资源文件加载,就需要用到这个模块,

① ore模块是一个核心模块,通常使用Egret开发项目,这是必选项,因为引擎中提供的大部分基础类库都处于这个模块,

②  res模块也是相当常用的模块,只要涉及资源文件加载,就需要用到这个模块,

2. 原生打包设定native

该选项中的设置适用于原生打包

3. 版本号egrety_version

该选项指示项目最后打包时所使用的Egret引擎版本,如果该版本号与所安装的Egret引擎不一致,通常需要升级到所需安装版本财可以正常编译

4. 项目运行容器环境

项目运行环境为launcher目录,项目运行环境总体上分为两种,即HTML5环境和Runtime/Native环境,接下来对这种环境分别进行说明

① HTML5环境由于标准Egret项目(相对于Runtime/Native来说)依赖于HTML5环境,运行需要从某个静态HTML5页面开启,这个目录存有两个HTML5页面,index.html和release.html,分别用于调试和发布环境的启动页面。另外HTML5环境运行需要两个js文件配合:egret_require.js和egret_loader.js在egret.loader.js中可以对项目运行进行一些定制配置

② Runtime/Native环境

Runtime/Native环境由于已经脱离原本的HTML5环境,因此不需要任何HTML5页面,因为这个环境也没有任何HTML解析器,这个环境只需要3个js文件,native_loader.js,native_require.js和runtime_loader.js、其中在native_loader.js和runtime_loader.js中可以分别对原生打包和Runtime打包项目进行某些配置

5. 项目运行库libs

libs目录中包含项目各模块所对的所有类库:

a. egret

b. eui

c. res

d. tween

e. exml.e.ts

当对项目配置文件egretProperties.json中的模块进行修改后,需要通过编译引擎命令来重新生成项目运行库,这个命令可以从Project菜单找到(Project ——》Build Engine)

6. 项目编译目录bin-debug

项目编译的结果文件都会被存储到bin-debug目录中,这也是调试运行过程将会调用到的文件。其中源代码目录中的文件将会被编译到bin-debug/src目录中,在bin-debug/lib有个列表文件,用来列出所需要的所有运行库文件,在运行过程中,这些都会将在合适的时间被调用到

7. 项目资源目录resource

resource是用来存放项目运行所需要的所有资源的,包含图片和配置文件,通常在资源目录建立一个资源清单文件,默认为:resource.json.图片或声音等资源文件的默认存储目录为:resource/assets。配置数据文件的默认存储目录为:recource/config。当然这些目录都可以根据自己喜好设置,只要在程序中使用保持一致即可

assets

config

eui_skins

default.res.json

default.thm.json

8. 项目发布目录

代码风格

1.Egret采用的是TypeScript作为开发语言,是一种标准的OOP语言

2. 对于大项目,建议将类分包建立

3. 类名大写,包名小写例如:egret.Bitmap

4. Egret类中的常量,通常采用全部字母大写,单词之间用下划线隔开的风格,如触摸事件egret.TouchEvent.TOUCH_BEGIN

注意:Egret引擎源代码中定义,类中的属性与方法如果以下划线开头,则表明此方法或属性为引擎内部使用,在编写游戏时,千万不要调用此类方法或属性,否则会引发不可预测的bug

建议风格。例如:有一个项目benchmark项目,我们要在benchmark.boid包内创建一个名为Boid的类,

5. 类与方法的命名规范

1) 类名

类名建议用大写字母开头,后每个单词也都以大写字母开头,其他字母小写,如一个控制翻页的类,命名为PageSlipCenter,其定义即为:

class PageSlipCenter extends egret.EventDispatcher{}

2) 方法名

方法名建议第一个单词用小写字母开头,后续每个单词都以大写字母开头,其他字母小写,如有一个触摸事件处理方法,命名为touchHandler,其定义为:private touchHandler(evt:egret.TouchEvent):void{}

核心库与扩展库的使用方法

1. egret模块是最为核心的模块,所有的Egret项目都应该包含这个模块,否则所有的基础功能都无法实现,

2. dragonbones

3. eui

4. game

5. gui

6. res模块是一个重要的模块,涉及资源载入的工作,都需要这个模块来完成,

7. socket

8. tween

如果需要添加或者删除直接在egretProperties.json中添加或者删除即可

第三方库的集成方法

1.准备第三方模块

第三方模块可以使用现成的js库也可以自己写js库

由于ts与js在语法结构上的差异,在ts中不能直接调用js库中的API,不过TypeScript团队提供了一套虚构声明语法,可以把现有的代码API用头文件的形式描述出来,这种文件称为ts类型定义,扩展名为d.ts(d.ts命名提醒编译器这种文件不需要编译),这套虚构定义语法不需要去实现函数体力的代码,类似定义interface和抽象类,

2. 部署第三方模块

第三方库重要规则:创建位置处于其他Egret项目外部,否则无法运行

egret create_lib<库名称>

注意:库名称应该是英文字符串,执行该命令将会创建以库名称为名的目录,目录内将包含bin、src、libs这3个字目录,还有一个package。json配置文件,再次强调一遍:不要在其他Egret项目内创建库,通常的做法是你有个放不同Egret项目的工作空间目录,然后第三方模块的库项目与其他Egret项目均处于该工作空间目录,处于并列位置

1、将第三方模块的js和对应的d.ts文件复制到刚刚创建的Egret库项目的src文件夹中。

2、如果该库项目src中的文件需要引用其他的库的代码,--通常称为依赖库,请把这些依赖库的TypeScript描述文件(也就是,,d,ts文件) 放到libs目录下,注意在libs目录下其他类型的文件入.js和*.ts一概不需要

3、编辑Egret库项目中的配置文件package.json,将之前放入src目录下的文件名称依次作为file_list数组中的元素列出,

3.在Egret项目中导入第三方模块

在Egret项目的egretProperties.json文件中,添加一下代码:

moddules:

[

{

"name":"physics", //模块名称

"path":"path/to/egret/library/project/root/",  //路径

}

]

编译某第三方库后,在index。html文件中应该以模块名称physics.js的script外部脚本引用行

egret白鹭引擎基础介绍相关推荐

  1. Egret白鹭引擎初始介绍及简单应用

    白鹭简介    白鹭引擎是一套完整的H5游戏开发的解决方案,这个引擎中包含多个工具和项目,使用白鹭引擎可以轻松实现H5的游戏的开发. 使用EgretEngine开发的游戏可发布为HTML5版本,运行于 ...

  2. egret白鹭引擎RES资源管理模块,资源动态加载失效BUG,加载卡死BUG,完整解决方案与超详细调试漏洞过程

    我是千里马,是一位软件工程师,最近几天完成了用户中心全套内容设计和游戏中大大小小的各种bug处理解决,准备开始游戏的正式填充,突然想起来还有两件抛之脑后的事情没有做.因为之前一直都是忙碌大方向内容设计 ...

  3. egret 白鹭引擎遇到的问题和解决方案

    egret 白鹭引擎遇到的问题和解决方案 参考文章: (1)egret 白鹭引擎遇到的问题和解决方案 (2)https://www.cnblogs.com/dt1991/p/11642741.html ...

  4. TexturePacker 导出 Egret(白鹭引擎)格式的图集和图片字体

    TexturePacker 导出 Egret(白鹭引擎)格式的图集(egretSheet)和图片字体(egretFont)补丁 https://github.com/chengyoujie/Textu ...

  5. Egret白鹭引擎开发微信小游戏之保存图片到相册

    玩家在玩小游戏的过程中,很多时候想要保存一下当前的截图.或者保存游戏内精美的画面到相册,一方面是为了记录在游戏中的美好时刻,另一方面则是能够更好地和朋友们分享我在这游戏中获得的荣耀和快乐,因为我们就会 ...

  6. 白鹭安装node_Egret Engine(白鹭引擎)介绍及windows下安装

    Egret Engine简要介绍----- Egret Engine(白鹭引擎)[Egret Engine官网:http://www.egret-labs.org/]是一款使用TypeScript语言 ...

  7. 白鹭引擎生成html,初识Egret白鹭引擎 之 创建舞台

    简述 随着Html5游戏的逐渐普及,了解一款开发引擎,对于开发者是很有帮助的.目前国内比较流行的html5游戏引擎有:cocosCreator.Egret.Laya.今天就给大家详细介绍下当前比较流行 ...

  8. Egret(白鹭引擎)——Egret+fairyGui 实战项目入门

    前言 一行白鹭上青天 需求 最近,我们老板刷刷的为了省事,给美术减压(背景有点长,不说了). 美术出 fairygui,我需要在网页上看到实时操作,并且看到效果! 需求分析 这怕是要了我的狗命啊,但是 ...

  9. egret(白鹭引擎) 学习历程(二)

    昨日因个人原因没能及时更新,今天补上!!!! 上接上一篇文章 三:资源配置 1: 在onConfigComplete的最后,有一行加载资源组的代码: RES.loadGroup("prelo ...

最新文章

  1. erdas几何校正_ERDAS遥感图像的几何校正
  2. 【百度分享】频繁分配释放内存导致的性能问题的分析
  3. ORACL内部异常:
  4. 多生产者_多线程必考的「生产者 - 消费者」模型,看齐姐这篇文章就够了
  5. iOS总结:项目中的各种小坑汇总
  6. mysql 连接 110 超时_Nginx和mysql上行超时超时(110:连接超时)
  7. jsp的九大内置对象和作用域
  8. SpringBoot+Swagger整合API
  9. kotlin 循环_Kotlin控制流–否则,用于循环,同时,范围
  10. echarts官网的使用方法
  11. python求曲线拐点_使用Python检测新冠肺炎疫情拐点
  12. 论坛小程序(含论文ssm后台)
  13. jconsole远程连接linux,JConsole远程连接
  14. 【搜索/tarjan找环】zznu-简单环路
  15. 文件服务器文件夹,共享文件夹及权限迁移
  16. 八、chmod命令详细用法
  17. Hystrix断路器执行原理
  18. 复测前端BUG一定要清缓存吗?
  19. 图解敏捷性能合弄结构APH之:valuing合弄
  20. FreeRTOS(基于STM32)——内存管理

热门文章

  1. docker镜像逆向Dockerfile
  2. HTTP中常见的各种状态码详解及解决方案
  3. 真正毁掉团队的,是“窄化效应”
  4. 直播预告 | 小姐姐来了·冠军分享暨百度人工智能开源大赛培训
  5. File转MultipartFile格式
  6. 【迁移学习】深度域自适应网络DANN在EEG睡眠质量检测上的应用
  7. 互联网、因特网以及万维网之间的区别和联系
  8. 阿里大人都在读的10本Java实战书籍,Java开发进阶必备书单
  9. 上市公司内控信息披露指数(2000-2018年)
  10. IIS之web服务器部署