diff --git a/README.md b/README.md index 95389dba..80666a49 100644 --- a/README.md +++ b/README.md @@ -1,51 +1,4 @@ -[![Language grade: JavaScript](https://img.shields.io/lgtm/grade/javascript/g/esengine/egret-framework.svg?logo=lgtm&logoWidth=18)](https://lgtm.com/projects/g/esengine/egret-framework/context:javascript) - -这是一套用于egret的游戏框架,里面包含ECS框架用于管理场景实体,一些常用2D碰撞检测及A*寻路。如果您还需要包含其他的AI系统可以查看作者其他库(行为树、简易FSM、实用AI)。 - -## 在线框架演示 - -[非完整游戏演示](http://www.hyuan.org/samples) - -## 入门教程 - -[Getting Start](https://github.com/esengine/egret-framework/wiki/Getting-Start) - -打开白鹭工程 替换 `Main.ts` 文件内容 - -```ts -class Main extends es.Core { - /** - * 由监听事件 egret.Event.ADDED_TO_STAGE后触发的事件 - */ - protected initialize() { - // 初始化游戏逻辑 - } - - /** - * 由监听事件 egret.Event.ENTER_FRAME后触发的事件 - */ - protected async update(){ - // 如果需要更新方法 不能删除super.update() - // 会导致框架内所有组件及实体无法更新 - super.update(); - - // 更新逻辑 - } - - /** - * 在update方法执行完毕后执行 draw方法 - */ - public async draw(){ - // 如果需要绘制方法 不能删除super.draw() - // 会导致框架内所有渲染组件位置无法更新 - super.draw(); - - // 绘制逻辑 - } -} -``` - - +这是一套ecs游戏框架,里面包含ECS框架用于管理场景实体,一些常用2D碰撞检测及A*寻路 ## 版本计划功能 @@ -53,11 +6,6 @@ class Main extends es.Core { - [x] 组件列表 - [x] 碰撞组件 - [x] 移动组件 - - [x] 滚动精灵组件 - - [x] 平铺精灵组件 - - [x] 序列帧动画组件 - - [x] 相机震动组件 - - [x] 相机组件 - [x] 组件池 - [x] 基础碰撞组件(矩形、圆形、多边形碰撞) - [x] 场景组件 @@ -67,29 +15,21 @@ class Main extends es.Core { - [x] 实体系统 - [x] 实体解析系统 - [x] 扩展库 - - [x] object扩展 - [x] string扩展 - - [x] texture扩展 - [x] time扩展 - [x] [array扩展(Extension)](https://github.com/esengine/egret-framework/wiki/Array-%E6%89%A9%E5%B1%95%E8%AF%B4%E6%98%8E) - [x] base64扩展 - [x] Stopwatch计数器 - - [x] Input输入帮助 - - [x] [Keyboard键盘帮助](https://github.com/esengine/egret-framework/wiki/KeyboardUtils-%E9%94%AE%E7%9B%98%E5%B8%AE%E5%8A%A9) - [x] List池对象 - - [x] Lock锁帮助 - [x] Emitter事件发射器 - [x] Random随机类帮助 - [x] Rectangle矩形帮助类 - [x] Vector2向量帮助类 - - [x] Content资源管理器 - [x] 全局管理器 - [x] 向量集Bitset - [x] 图形帮助 - [x] 场景过渡 - - [x] 后处理器 - [x] 场景渲染器 - - [x] 特效组 - [x] A*寻路(AStar) - [x] 常用碰撞检测 - [x] 数学库 @@ -110,7 +50,7 @@ class Main extends es.Core { - [x] Dijkstra 寻路算法 - [x] 事件处理器 -## 关于egret用ecs框架(typescript/javascript) +## 关于用ecs框架(typescript/javascript) ecs 是功能强大的实体组件系统。typescript与其他语言不同,因此我对ecs的设计尽可能的支持typescript特性。虽然ecs拥有标准实体组件系统,但在细节上有很大不同。创建标准ecs通常处于原始速度、缓存位置和其他性能原因。使用typescript,我们没有struct,因为没有必要匹配标准实体组件系统的设计方式,因为我们对内存布局没有那种控制。 ecs更灵活,可以更好的集中、组织、排序和过滤游戏中的对象。ecs让您拥有轻量级实体和组件,这些组件可以由系统批量处理。 @@ -130,9 +70,3 @@ Scene是ecs包含系统和实体最外面的容器。 ## 系统(System) ecs中的系统会不断的更新实体。系统使用过滤器选择某些实体,然后仅更新那些选择的实体。 -## 作者其他库(egret) - -- [行为树/实用AI 系统](https://github.com/esengine/egret-BehaviourTree-ai) -- [egret优化库](https://github.com/esengine/egret-optimize) -包含一些常用游戏性能提高的帮助类 -