1

XNAでの幅描画のレイヤー深度に問題があります。ScreenManagerとBallの2つのGameComponentがあります。ScreenManagerには、BackgroundScreen、GamePlayScreen、およびPauseScreenの画面があります。

現在、PauseScreenの前にボールを描画し、ボールの前にBackgroundScreenを描画する必要があります...

Ball GameComponentでは、ボールのスプライトを描画した後にbase.Draw()を呼び出し、ScreenManagerでは、画面を描画する前にbase.Draw()を呼び出しましたが、どちらも機能しません。

どうすればいいのですか?手伝ってくれてありがとう。

4

1 に答える 1

2

GameComponents は相互に関連する "Draw-Order" しか変更できないため、現在のセットアップではこれを実現できません。

これを視覚化した画像を次に示します。

ここに画像の説明を入力

ご覧のとおり、Ball と ScreenManager は同じプレーン/レイヤーにあるため、並べ替えても問題は解決しません。

あなたの質問を解決するには、Screens GameComponents も作成するか、ボールのロジックを別の画面に移動します。

于 2012-10-18T15:26:03.507 に答える