0

我的虚拟世界中显示了一个纹理模型。我遇到的问题是当我在屏幕上绘制文本时,模型在可见侧变得更暗并且部分透明。这是我调用的函数:

 private void DrawText()
    {
        spriteBatch.Begin();
        spriteBatch.DrawString(debugFont, "X: " + modelPosition.X + " Y: " + modelPosition.Y 
            + " Z: " + modelPosition.Z, new Vector2(150, 150), Color.White);
        spriteBatch.End(); 
    }

关于如何在屏幕上显示文本时如何让模型正确渲染的任何建议?

4

1 回答 1

1

使用 SpriteBatch 对渲染状态的 alpha 和其他属性有副作用。您可以在文本工作后恢复默认值,这应该可以解决这个问题。有关更多信息,请参阅这篇文章:

http://www.riemers.net/Forum/index.php?var=1594&var2=0

肖恩·哈格里夫斯 (Shawn Hargreaves) 提供了有关受影响的确切属性的更多信息:

http://blogs.msdn.com/b/shawnhar/archive/2010/06/18/spritebatch-and-renderstates-in-xna-game-studio-4-0.aspx

于 2012-08-29T10:03:31.403 回答