私は、次のコードを持っている:このコードは逆の順序でスプライトを描画するのはなぜですか?
spriteBatch.Begin(SpriteSortMode.FrontToBack, BlendState.AlphaBlend, null, null, null, null, cam.TransformMatrix);
spriteBatch.Draw(_comicBackground, workspace, Color.AliceBlue);
foreach (LayoutField lf in comicStrip.LayoutFields)
{
spriteBatch.Draw(_layoutFieldBackground, new Rectangle(lf.PosX, lf.PosY, lf.Width, lf.Height), Color.White);
}
spriteBatch.End();
関係なくSpriteSortMode(FrontToBack | BackToFront)の背景は、常に結果に自分のレイアウトをカバーし、foreach
ループの結果の上位に表示されています。
私はスプライトを逆順で描画できるので、ショーストッパーではありませんが、画面上に描画する順番にそれらを保持したいと考えています。
'SpriteSortMode'を' Deffered'に設定するとどうなりますか? – keyboardP
申し訳ありませんが、昨日の時間がありませんでした。 「Deffered」モードが機能しました。ありがとうございます – LukeP