Files
esengine/README.md
2020-12-23 17:14:16 +08:00

2.0 KiB
Raw Blame History

这是一套ecs游戏框架里面包含ECS框架用于管理场景实体一些常用2D碰撞检测及游戏中常用的工具

交流群

点击链接加入群聊【ecs游戏框架交流】https://jq.qq.com/?_wv=1027&k=29w1Nud6

示例地址

扩展库

关于用ecs框架typescript/javascript

ecs 是功能强大的实体组件系统。typescript与其他语言不同因此我对ecs的设计尽可能的支持typescript特性。虽然ecs拥有标准实体组件系统但在细节上有很大不同。创建标准ecs通常处于原始速度、缓存位置和其他性能原因。使用typescript我们没有struct因为没有必要匹配标准实体组件系统的设计方式因为我们对内存布局没有那种控制。

ecs更灵活可以更好的集中、组织、排序和过滤游戏中的对象。ecs让您拥有轻量级实体和组件这些组件可以由系统批量处理。 例如,您在制作一个射手,您可能会有几十到几百个子弹,这些作为轻量级实体由系统批量处理。

所以ecs在设计当中拥有四种重要类型世界Scene过滤器Matcher系统System和实体(Entity)

世界Scene

Scene是ecs包含系统和实体最外面的容器。

实体Entity

实体只由系统处理。

组件(Component)

组件应该只包含数据而没有逻辑代码。对数据进行逻辑是系统的工作。

系统System

ecs中的系统会不断的更新实体。系统使用过滤器选择某些实体然后仅更新那些选择的实体。