現在、XNA ベースのスペース インベーダー ゲームに Screens ロジックを追加しようとしています。
私の問題は:
各画面は、GameComponentsManager として使用される CompositeDrawableComponent インスタンスの助けを借りて、独自のゲーム コンポーネント (SpaceShip、EnemyMatrix など) を管理します。
各ゲーム コンポーネントには、追加のゲーム コンポーネント (つまり、Bullet を保持する SpaceShip) が含まれているため、独自の GameComponentsManager インスタンスが含まれています。
各 GameComponentsManager には、そのすべてのコンポーネントの SpriteBatch が含まれています。つまり、PlayScreen はその SpaceShip に固有の SpriteBatch を使用し、各 SpaceShip はその弾丸に固有の SpriteBatch を使用します。
その結果、SpaceShip のコンポーネントは単に Screen のコンポーネントの背後 (私の場合は背景) に描画され、ユーザーには見えないままになります。
どうすればこれを解決できますか?