我在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
答案 0 :(得分:2)
把它放在你绘制方法的顶部:
GraphicsDevice.BlendState = BlendState.AlphaBlend;
GraphicsDevice.DepthStencilState = DepthStencilState.Default;
那应该解决它。
答案 1 :(得分:0)
精灵批处理有些渲染设置,你需要谷歌找出要设置的内容,我首先启用深度缓冲区。