更新(GameTime gameTime) - 如何每秒特定时间执行任务?

时间:2011-06-06 15:58:00

标签: c# time xna

我正在使用C#和XNA。 Game类中有这种方法

    Update(GameTime gameTime)

我需要在这个方法中执行我的函数大约每秒4次。我该如何实现这一目标?

到目前为止,我只能通过

知道新的第二次开始
    if (gameTime.TotalGameTime.Milliseconds == 0) 

但我需要一种方法来每秒特定时间运行我的函数。但我无法弄清楚我是怎么做到的......

2 个答案:

答案 0 :(得分:2)

您需要保留一个单独的计数器,以及调用您的函数的时间间隔。每秒4次,这是float interval = 1/4;

每帧,用自上一帧以来经过的毫秒数更新计数器。

检查此计数器是否大于间隔;如果是这样,至少interval秒已经过去并且需要调用该函数。

答案 1 :(得分:1)

另一个选项可能是使用 System.Timers

中的 Timer

此类允许在您的应用程序/游戏中运行重复事件。

有关详情,请参阅此处:http://msdn.microsoft.com/en-us/library/system.timers.timer.aspx