Xna清除平局
Xna clear the draw
我有一个代码,我的 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);
}
你只需要在 spriteBatch.Clear()
之后停止绘制它。 Draw()
方法在游戏确定是时候绘制时调用(每秒多次)。阅读其文档 here.
例如,您可以声明一个字段 bool needToDrawText
,然后像这样在绘制方法中使用它:
if (needToDrawText)
{
spriteBatch.DrawString(font, "This is a string", location, Color.Black);
}
这是一个非常普遍的例子。显然你应该相应地调整它。
GraphicsDevice.Clear(Color.CornflowerBlue);
确实会清除您的背景并用所选颜色填充它。在它被删除之前的一切。 Clear
只应在绘制方法开始时调用。如果你不这样做,
- 您会像完成游戏时一样获得旧的单人纸牌效果。
- 有些东西没有画出来
- 是个没用的电话。
你应该使用布尔值:
if (needToDrawText)
{
spriteBatch.DrawString(font, "Txt", new Vector2(100,100), Color.Black);
}
我有一个代码,我的 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);
}
你只需要在 spriteBatch.Clear()
之后停止绘制它。 Draw()
方法在游戏确定是时候绘制时调用(每秒多次)。阅读其文档 here.
例如,您可以声明一个字段 bool needToDrawText
,然后像这样在绘制方法中使用它:
if (needToDrawText)
{
spriteBatch.DrawString(font, "This is a string", location, Color.Black);
}
这是一个非常普遍的例子。显然你应该相应地调整它。
GraphicsDevice.Clear(Color.CornflowerBlue);
确实会清除您的背景并用所选颜色填充它。在它被删除之前的一切。 Clear
只应在绘制方法开始时调用。如果你不这样做,
- 您会像完成游戏时一样获得旧的单人纸牌效果。
- 有些东西没有画出来
- 是个没用的电话。
你应该使用布尔值:
if (needToDrawText)
{
spriteBatch.DrawString(font, "Txt", new Vector2(100,100), Color.Black);
}