文件名称:motorhaus:JavaScript中的实体组件系统
文件大小:671KB
文件格式:ZIP
更新时间:2024-05-17 21:58:20
game-engine entity-component-system JavaScript
这是我为踢球而制作的原型游戏的框架。 我建议使用以获得完整的引擎。 建筑学 如果您熟悉 ,那么您将更容易理解这里发生的事情。 重要的是,所有动作都在组件中发生。 实体仅仅是将一组组件捆绑在一起的字符串。 实体和组件都具有activate()和disable() ,但是只有组件具有update() 。 因此,如果您想在每个刻度上执行特殊的游戏逻辑,则需要制作一个新组件,并可能给它提供一个实体监听的信号或两个信号。 实体和组件之间以及组件之间的通信是通过信号或简单属性完成的。 最强大的方面是组件通过实体共享引用。 例如,大多数实体都有一个位置( Vec2 ),因此为了确保视图和物理组件都保持同步,它们都简单地引用了其父实体的position属性-实体本身不需要做任何工作。