我可能想多了,我会提前解决这个问题。但是我似乎找不到一个简单的碰撞方法的好例子,它可以在实体遇到某物时改变它的速度。最初想到的是有 3 个系统,它们按顺序运行:
- 运动系统(根据其速度组件更新实体的位置组件)
- InputSystem(根据鼠标/键盘的输入更新实体的速度组件)
- CollisionSystem(根据实体是否与另一个实体相交来更改实体的速度分量)
但是这里不是有一个catch-22吗?如果我已经与另一个实体相撞,现在我无法逃脱,因为碰撞系统一直在扼杀我的速度。还是我需要让碰撞系统了解速度方向?