XNA - 如何让图像在x秒后消失?
问题描述:
抱歉打扰大家,我在XNA上找不到任何好的教程,所以我只是来这里寻求帮助,所以如何在处置之前等待?XNA - 如何让图像在x秒后消失?
protected override void Draw(GameTime gameTime)
{
GraphicsDevice.Clear(Color.Black);
// TODO: Add your drawing code here
mBatch.Begin();
mBatch.Draw(mTheQuantumBros2, new Rectangle(300, 150, mTheQuantumBros2.Width, mTheQuantumBros2.Height), Color.White);
//How to make it wait for 3 seconds before disposing?
mBatch.Dispose();
mBatch.End();
base.Draw(gameTime);
}
答
您可以使用经过的时间,因此应用程序已经开了X秒后就会消失,
if (gameTime.TotalGameTime.TotalSeconds <= 3)
{
mBatch.Begin();
mBatch.Draw(mTheQuantumBros2,
new Rectangle(300, 150, mTheQuantumBros2.Width, mTheQuantumBros2.Height),
Color.White);
//How to make it wait for 3 seconds before disposing?
mBatch.End();
}
答
您可以使用基于你期望得到什么不同的做法。 如果你想拥有光滑淡出效果,你可以使用颜色参数来实现透明度: mBatch.Draw(mTheQuantumBros2, new Rectangle(300, 150, mTheQuantumBros2.Width, mTheQuantumBros2.Height), new Color(new Vector4(1.0f, 1.0f, 1.0f, 1.0f - (currentTime/totalTime))));
currentTime的握着你的当前时间,TOTALTIME是时候,你想要的形象完全消失。
如果您需要多次执行此类动画,我建议您创建一个Timer类,它可以帮助您轻松导航时间跨度。