实体组件系统能够解决游戏开发中OO编程中可能出现的规模问题。我对 ECS 有几个疑问:
概述:有些实体包括一些组件(具有数据)和具有诸如行走逻辑、战斗逻辑等逻辑的系统。因此,在任何游戏中,敌人是实体,英雄是具有自己系统的实体等。每个玩家/敌人都成为一个实体。
- 最初我使用舞台、组和演员,其中舞台使用层次结构将事件传递给演员,并基于我正在处理的事件。现在我有了实体,我的新演员是什么?是每个实体都会成为演员吗?如果是,那么在每个动作中,我都会调用所有组件更新函数并在绘图函数中绘制,对吗?
- 实体组件系统仅用于演员还是应该将其用于舞台、团体、相机?如果应该全部使用,有人可以帮助理解如何吗?
在 OO 中,这很简单,因为我在组中添加演员并根据事件将事件传递给演员,我会执行适当的任务。抱歉,如果我遗漏了什么,因为在 ECS 中思考对我来说是新的。我开始编写代码,但在考虑整个系统时我感到困惑。我知道如何为演员工作,但如何使它与团队、舞台、相机等一起工作。