当前位置: 首页 > article >正文

简单介绍了解白鹭引擎Egret

(一)关于白鹭引擎Egret

Egret引擎是一个开源免费的游戏框架,用于构建二维游戏、演示程序和其他图形界面交互应用等。Egret使用TypeScript脚本语言开发。当游戏完成最终的打包后,可以将程序转换为HTML5游戏。实现跨平台特性。

Egret不仅仅是一个基于HTML5技术的游戏引擎,我们的产品线中除了Egret引擎还提供了很多辅助游戏开发的工具。准确的来说,Egret是一套游戏开发的解决方案。你可以使用Egret引擎来帮助你开发HTML5游戏,并运行在手机和PC端的浏览器中,同时也你可以使用Egret提供的相关工具搭建你自己的游戏开发工作流。

Egret团队在2014年5月15日正式发布了第一个测试版本,同时提供了附带的系列相关开发工具,以帮助开发者在使用Egret开发游戏时,更加快速便捷。

(二)开源的特性

Egret引擎是一款开源免费的2D游戏引擎。我们遵循BSD(Berkly Software Distribution,伯克利软件发行)开源协议。

BSD协议是一个给予使用者很大自由的协议。基本上使用者可以”为所欲为”,可以自由的使用,修改源代码,也可以将修改后的代码作为开源或者专有软件再发布。

但”为所欲为”的前提当你发布使用了BSD协议的代码,或者以BSD协议代码为基础进行二次开发时,需要满足三个条件:

  1. 如果再发布的产品中包含源代码,则在源代码中必须带有原来代码中的BSD协议。

  2. 如果再发布的只是二进制类库/软件,则需要在类库/软件的文档和版权声明中包含原来代码中的BSD协议。

  3. 不可以用开源代码的作者/机构名字和原来产品的名字做市场推广。

BSD协议鼓励代码共享,但需要尊重代码作者的著作权。BSD协议允许使用者修改和重新发布代码,也允许使用或在BSD协议代码上开发商业软件发布和销售,因此是对商业集成很友好的协议。很多的公司企业在选用开源产品的时候都首选BSD协议,因为可以完全控制这些第三方的代码,在必要的时候对源码进行修改或二次开发。

(三)白鹭引擎Egret的特点

开源免费

基于BSD开源协议的Egret引擎,可以让您自由的使用Egret来创作自己的游戏。

优秀的设计思想

Egret的设计思想大量借鉴了优秀的2D动画软件Flash的一些设计思想。在引擎的设计中,Egret底层使用了弹性跑道模型,显示列表,脏矩阵,事件模型等技术。在这些技术基础之上,我们封装了对用户极为友好的API。开发者在开发游戏时,无需考虑底层渲染逻辑,只关心游戏逻辑即可。

高效的渲染模块

在图形图像渲染中,Egret完全使用HTML5标准中的canvas技术。极大程度上保证了使用Egret引擎开发的游戏在各个浏览器上的兼容性。同时,为了给玩家更好的游戏体验,我们不仅仅提供了CPU渲染,还提供了性能更为强大的硬件加速渲染模式。该模式无需开发者自动开启,引擎会根据当前用户硬件类型智能判断启用。

完善的配套工具

Egret引擎的设计宗旨始终围绕在简化游戏开发上,用户在使用Egret的时候,能够体会到,所有的引擎设计全部围绕游戏开发。同时Egret提供的配套工具也极大简化了游戏开发流程。从游戏的代码编写,UI制作,地图拼接,关卡制作到最终游戏上线,研发过程中都有大量工具支撑。

灵活的工作流

Egret不限制开发工具的使用,我们也为一些优秀的第三方工具提供了相关插件。让用户在不改变开发习惯的情况下无缝迁移到Egret。

社区支持

Egret为用户建立了用户社区,如果在使用Egret过程中遇到了哪些问题,可以直接在用户社区中得到答案。同时,我们也为用户提供了大量文档手册,方便用户学习。

(四)白鹭引擎Egret的功能

Egret继承了Flash的优点,同时更加针对游戏开发,主要包括如下功能:

  • 显示列表:清晰、稳健、高效的视觉抽象结构
  • 精灵:一种轻量级显示容器
  • 事件机制:提供了一套生成和处理事件消息的标准方法
  • 纹理集合:将大量图片汇集为一张纹理图进行处理
  • 矢量绘图:封装了方便简单的矢量绘图功能
  • 网络加载:封装了常用的网络通讯协议
  • 位图字体:可通过位图字体方式显示文本
  • 性能监控:可在游戏中快速开启性能监控面板
  • 反射:对TypeScript增加了反射机制,方便模块化开发
  • XML处理:提供标准的XML格式解析生成功能
  • 骨骼动画:支持业内最优骨骼动画解决方案DragonBones
  • 资源加载:提供了整套资源加载方案,优化网络加载功能
  • GUI:提供大量组件,可快速开发游戏中的UI控件

不懂的可以加我的QQ群: 226508420(白鹭引擎Egret交流群 )欢迎你的到来哦,看了博文给点脚印呗,谢谢啦~~

http://www.lryc.cn/news/2420308.html

相关文章:

  • CSharp编程语言
  • 如何在linux系统下安装QQ
  • 【MySQL管理】:用户User和权限Privileges
  • Oracle Rac 介绍
  • HTML基础-06-表格(表<table> ,行 <tr>,列 <tb>,表头 <th>,跨列colspan,跨行rowspan,单元格边距 cellpadding,单元格间距cellspacing)
  • 了解XXS攻击---安全测试需了解的内容之一
  • 软件编程学习网站汇总——持续更新中
  • 内网渗透测试:活动目录 Active Directory 的查询
  • 智能小车——循迹模块、避障模块使用介绍
  • 学会重构与对比 ——码农鼻祖天才香农
  • JVM运行时数据区——JDK1.7、JDK1.8
  • CentOS7安装Oracle11gR2
  • vux从安装到基本使用
  • UEFI原理与编程实践--FDF文件
  • HTML select option 详解
  • 解决Windows找不到steam_api.dll文件
  • 一文详解 RSA 非对称加密算法
  • 最新2023年3月编程排行榜出炉,Python太牛了
  • red hat 基本命令的使用
  • 什么是SLO?
  • 解决Win系统缺少msvcr71.dll无法运行软件或游戏问题
  • 鸿蒙系统和安卓系统有什么区别的,看这篇文章就够了
  • 研究方法的类型有哪些?(实例与技巧)
  • 《计算机科学与探索》期刊投稿
  • ES elasticsearch 从入门到放弃-ELK和ELS简介
  • Overload(重载)、Override(覆盖)、Overwrite(重写) 三者区别
  • QPlainText功能详解 Python
  • ELMo解读
  • 无界微前端应用初探
  • 泛型中extends和super的区别