有人知道如何添加计时器来控制进度条的速度吗?此外,我需要时间来使用它在另一个函数,它只运行时,进度条移动和停止时,进度条停止。所以具体来说,我需要的是设置一个定时器来控制进度条,如何获取它?
顺便说一下..。我在visual studio中使用XNA游戏开发的c#编码
致以敬意,
发布于 2013-02-27 05:14:01
在XNA中没有计时器函数,但是您可以抓住已经过去的秒数。
Game中的Update和Draw方法提供了一个GameTime对象,该对象保存TotalTimeElapsed属性。保留该对象副本(只需确保它是副本而不是引用)作为上一次,并将其与“当前时间”进行比较。如果差值超过目标值,则执行事件。
//at top of class
private TimeSpan previousTime;
private TimeSpan targetTime = new TimeSpan(0, 0, 5); //5 seconds
private bool isFirstUpdate = true;
//later down in your update
public void Update(GameTime gameTime)
{
if(isFirstUpdate)
{
previousTime = new TimeSpan(gameTime.TotalElapsedTime.Ticks);
isFirstUpdate = false;
}
if(gameTime.TotalElapsedTime - previousTime >= targetTime)
{
//do some event, and don't forget to re-set previous time
previousTime = new TimeSpan(gameTime.TotalElapsedTime.Ticks);
}
}https://stackoverflow.com/questions/15099272
复制相似问题