用途:本技能为使用 bitECS v0.4.0 提供指导。bitECS 是一个灵活、极简、数据导向的 TypeScript 实体组件系统(ECS)库,适用于以 ECS 架构构建游戏或模拟。安装命令为 npm i bitecs。
主要能力:库分为三个模块——核心 bitecs、二进制序列化 bitecs/serialization、兼容 0.3.x API 的 bitecs/legacy。核心概念包括:World(ECS 数据容器,可带自定义上下文与共享实体索引);Entity(唯一数字 ID,支持回收与版本化);Component(模块化数据容器,支持 SoA、TypedArray、AoS、标签组件等格式);Query(按组件组合检索实体,支持 And/Or/Not 及嵌套、缓冲、层级查询);Relationships(实体间关系,支持数据存储、独占、自动移除、校验与通配符);Prefabs(可复用实体模板,通过 IsA 继承);Observers(响应组件增删改查);Systems(推荐用可链式函数定义行为)。序列化模块提供类型标签与 SoA 序列化/反序列化工具。
使用方式:通过 createWorld 创建世界,addEntity 创建实体,addComponent 等操作组件,query 检索实体,observe 注册观察者,系统函数在游戏循环中调用。
适用场景:游戏或模拟开发、实体与组件管理、组件数据结构定义、基于组件组合的查询、实体层级与关系、预制体与模板、网络或存档的序列化、响应式组件变化、多线程 ECS 系统。
限制:资料未提供收费、价格、平台与效果信息;预制体本身不出现在查询中,组件值继承需定义 onSet 与 onGet 观察者;使用版本化 ID 配合 TypedArray 时需确保数组足够大;嵌套查询需用 isNested 或 noCommit 以避免迭代期间刷新待移除项。