1

XNA 4.0 3Dで文字列を描画するときに問題が発生します。既知の問題は、spriteBatch.Begin()です。しかし、私はそれを解決する方法がわかりません。

protected override void Draw(GameTime gameTime)
{
  GraphicsDevice.Clear(Color.DeepSkyBlue);
  //Draw string 
  spriteBatch.Begin();
  spriteBatch.DrawString(fontArial, "Demotesting", new Vector2(100, 100), Color.Red);
  spriteBatch.End();
  //Draw Models Ship
  ship.Draw();

  base.Draw(gameTime);
}

文字列を描画する前:http: //nq1.upanh.com/b4.s32.d1/6c6ce19bded8d054341ce45e17426c51_49358001.before.png

文字列を描画した後:http: //nq2.upanh.com/b6.s30.d2/9ff7c3c009215348b06a53c5a067d282_49358002.after.png

4

2 に答える 2

2

これを描画メ​​ソッドの上部に配置します。

GraphicsDevice.BlendState = BlendState.AlphaBlend;
GraphicsDevice.DepthStencilState = DepthStencilState.Default;

そしてそれはそれを解決するはずです。

于 2012-09-22T13:06:28.597 に答える
0

スプライトバッチはいくつかのレンダリング設定をいじくり回します。何を設定するかを見つけるためにグーグルで検索する必要があります。まず、深度バッファを有効にします。

于 2012-09-22T12:49:37.713 に答える