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类,它可以帮助您轻松导航时间跨度。