我目前正在尝试将屏幕逻辑添加到基于 XNA 的太空入侵者游戏中。
我的问题是:
每个屏幕都在 CompositeDrawableComponent 实例的帮助下管理它自己的游戏组件(SpaceShip、EnemyMatrix 等),该实例用作 GameComponentsManager。
每个游戏组件都包含其自身的其他游戏组件(即 SpaceShip 持有子弹),因此包含它自己的 GameComponentsManager 实例。
每个 GameComponentsManager 都包含一个 SpriteBatch 用于它的所有组件,即 PlayScreen 使用一个独特的 SpriteBatch 用于它的 SpaceShips,每个 SpaceShip 使用一个独特的 SpriteBatch 用于它的子弹。
结果,SpaceShip 的组件被简单地绘制在屏幕组件的后面(在我的例子中,背景)并且对用户保持不可见。
我该如何解决这个问题?