首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >XNA游戏中的progressBar

XNA游戏中的progressBar
EN

Stack Overflow用户
提问于 2013-02-27 05:07:04
回答 1查看 952关注 0票数 1

有人知道如何添加计时器来控制进度条的速度吗?此外,我需要时间来使用它在另一个函数,它只运行时,进度条移动和停止时,进度条停止。所以具体来说,我需要的是设置一个定时器来控制进度条,如何获取它?

顺便说一下..。我在visual studio中使用XNA游戏开发的c#编码

致以敬意,

EN

回答 1

Stack Overflow用户

发布于 2013-02-27 05:14:01

在XNA中没有计时器函数,但是您可以抓住已经过去的秒数。

Game中的UpdateDraw方法提供了一个GameTime对象,该对象保存TotalTimeElapsed属性。保留该对象副本(只需确保它是副本而不是引用)作为上一次,并将其与“当前时间”进行比较。如果差值超过目标值,则执行事件。

代码语言:javascript
复制
//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);
    }
}
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/15099272

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档