更新(GameTimegameTime)-如何每秒完成特定的任务

本文关键字:任务 何每秒 GameTimegameTime 更新 | 更新日期: 2023-09-27 17:58:41

我使用C#和XNA。在游戏类中有这样的方法

    Update(GameTime gameTime)

我需要在这个方法中每秒执行我的函数大约4次。我怎样才能做到这一点?

到目前为止,我只能通过做来知道新的一秒何时开始

    if (gameTime.TotalGameTime.Milliseconds == 0) 

但我需要一种方法来每秒运行我的函数一些特定的时间。但我不知道该怎么做…

更新(GameTimegameTime)-如何每秒完成特定的任务

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

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

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

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

此类允许在应用程序/游戏中运行定期事件。

有关更多信息,请阅读此处:http://msdn.microsoft.com/en-us/library/system.timers.timer.aspx