Xna清除平局
本文关键字:平局 清除 Xna | 更新日期: 2023-09-27 18:03:28
我有一个代码,我的spriteBatch
正在绘制文本,我的问题是如何删除文本。GraphicsDevice.Clear()
只是改变背景的颜色。我的代码是:
protected override void Draw(GameTime gameTime)
{
GraphicsDevice.Clear(Color.Black);
spriteBatch.Begin();
Spiel.LoadGame();
GraphicsDevice.Clear(Color.Black);
Spiel.Intro();
spriteBatch.End();
base.Draw(gameTime);
}
GraphicsDevice.Clear(Color.CornflowerBlue);
确实清除了您的背景并填充了所选的颜色。所有被抹去的东西。Clear
只应在draw方法开始时调用。如果你不这样做,
- 你会得到旧的单人游戏效果,就像你完成了一个游戏。 有些东西是画不出来的。
- 为无用呼叫。
你应该使用布尔值:
if (needToDrawText)
{
spriteBatch.DrawString(font, "Txt", new Vector2(100,100), Color.Black);
}
你只需要在spriteBatch.Clear()
之后停止绘制它。Draw()
方法将在游戏确定绘制时间时被调用(每秒多次)。在这里阅读它的文档。
例如,您可以声明一个字段bool needToDrawText
,并在您的draw方法中像这样使用它:
if (needToDrawText)
{
spriteBatch.DrawString(font, "This is a string", location, Color.Black);
}
这是一个非常普遍的例子。显然,您应该相应地进行调整。