我一直在阅读实体系统框架,尤其是Artemis。我正在尝试确定是否适合我。我严格从事基于图块的2d像素艺术游戏,而且我认为它们永远不会占用大量资源。过去,我一直使用标准OOP进行大量继承。
我现在对实体系统框架的理解(我不确定是否完全掌握):
- 实体不过是ID的
- 组件不过是添加到实体组件池中的哑数据
- 系统是附加到世界的更新功能,用于处理与系统组件签名匹配的每个实体
如果我的理解是正确的,那么在概念上很难在此框架中添加图块图和AI行为树。我将来会问有关AI的问题。
是否应在此框架中内置图块地图?还是应该将其分开放置以使其易于使用tilemap编辑器生成?
如果应该将tilemap内置到此框架中,那么每个tile都是不同的实体吗?和tilemap一个系统?还是tilemap本身就是继承了继承关系的单个实体?
如果tilemap足够精细,那么与外部tilemap碰撞检测实体的最佳方法是什么?
我了解我列出的多个选项可能是正确的,但是如果有人过去这样做过,他们也许可以使我感到困惑。也许还有我没有想到的另一种选择?
谢谢。