在我用C++编写的游戏引擎中,我已经离开了传统的分层实体系统,并构建了一个基于组件的系统.它大致以这种方式工作:
实体仅仅是组件的容器.一些示例组件是:Point,Sprite,Physics,Emitter.
每个实体最多可以容纳每种类型的一个组件.有些组件依赖于另一个组件,比如Physics和Sprite依赖于Point,因为它们需要一个位置和角度.
因此,组件系统的一切正常,但现在我无法实现更专业的实体,例如:
现在,我可以通过继承轻松解决这个问题.只需从实体派生相机并添加其他缩放功能和成员.但这只是错了.
我的问题: