現在、XNAベースのスペースインベーダーゲームにスクリーンロジックを追加しようとしています。XNAゲームのさまざまなレベルで複数のSpriteBatchesを使用してコンポーネントを残存させない
私の問題は、次のとおりです。
各画面は、それがGameComponentsManagerとして使用CompositeDrawableComponentインスタンスの助けを借りて自分のゲームコンポーネント(スペースシップ、EnemyMatrixなど)です管理しています。
各ゲームコンポーネントには、追加のゲームコンポーネントが含まれています(つまり、Bulletを保持するSpaceShip)。そのため、独自のGameComponentsManagerインスタンスが含まれています。
各GameComponentsManagerには、すべてのコンポーネント用のSpriteBatchが含まれています。つまり、PlayScreenはSpaceShipにSpriteBatchを使用し、各SpaceShipは固有のSpriteBatchを使用します。
結果として、SpaceShipのコンポーネントは、単に私の場合は背景であるScreenのコンポーネントの背後に描画され、ユーザーには見えません。
どうすればこの問題を解決できますか?
答えがあまりにも簡単ですが、最初に画面のスプライトバッチを描画してみましたか?これは、レベルが船上に雲や類似物を表示することができないという問題を抱えていますが、複数のバッチを使用し続ける場合は... – Elideb