很抱歉打扰每个人,我找不到任何有关XNA的好教程,所以我只是来这里寻求帮助,那么在处置之前你如何让它等待?
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);
}
答案 0 :(得分:0)
您可以使用经过的时间,因此在应用程序打开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();
}
答案 1 :(得分:0)
您可以根据您的期望获得不同的方法。
如果要获得平滑的淡出效果,可以使用Color参数来实现透明度:
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类,它可以帮助您轻松浏览时间跨度。