文件名称:ecs:面向数据的功能实体组件系统
文件大小:324KB
文件格式:ZIP
更新时间:2024-05-17 18:46:54
JavaScript
ecs 面向数据的功能实体组件系统。 什么? 许多游戏和模拟都是围绕面向对象的类和场景图构建的。 场景图和对象层次结构通常最终会变得一团糟,最终最终会面临围绕诸如“这一特定逻辑/状态存在于何处?”之类的问题的艰难决策。 逻辑/状态中的某些位横切且不能完全放在一个地方,并且代码和逻辑在图中的各个地方纠缠在一起。 并非游戏/模拟中的所有关系都使用父子关系进行了适当的建模,这就是我们进入这些情况的原因。 ECS是替代架构: Ëntities有0或多个组件 组件是纯数据,没有任何行为 小号ystems有行为,但没有数据 此处的整个ecs模块大约有100行代码,并在运行时提供O(1)迭代器以查询系统内的实体。 使用范例 这是您可以使用ecs进行操作的最小示例,说明了如何声明实体,组件和系统。 需要节点版本12.17.1或更高版本。 import ECS from 'ecs'
【文件预览】:
ecs-main
----.travis.yml(619B)
----LICENSE(1KB)
----test()
--------stats.js(4KB)
--------getEntities.js(1KB)
--------removeComponentFromEntity.js(2KB)
--------orderedInsert.js(425B)
--------getEntitiesNotModifier.js(1KB)
--------removeEntity.js(2KB)
--------createWorld.js(468B)
--------listenersNotModifier.js(375B)
--------createEntity.js(140B)
--------listeners.js(1KB)
--------addSystem.js(513B)
--------addComponentToEntity.js(642B)
----ecs.js(13KB)
----README.md(4KB)
----.npmrc(19B)
----devtools.png(152KB)
----.gitignore(35B)
----ordered-insert.js(291B)
----devtools2.png(21KB)
----CHANGELOG.md(938B)
----package-lock.json(117KB)
----package.json(733B)
----devtools-extension()
--------manifest.json(1KB)
--------devtools.js(478B)
--------rollup.config.js(115B)
--------app-bundle.js(131KB)
--------app.html(2KB)
--------background.js(3KB)
--------contentScript.js(1KB)
--------app.js(16KB)
--------assets()
--------popups()
--------devtools.html(167B)
--------package-lock.json(42KB)
--------package.json(428B)