更新(GameTimegameTime)-如何每秒完成特定的任务
本文关键字:任务 何每秒 GameTimegameTime 更新 | 更新日期: 2023-09-27 17:58:41
我使用C#和XNA。在游戏类中有这样的方法
Update(GameTime gameTime)
我需要在这个方法中每秒执行我的函数大约4次。我怎样才能做到这一点?
到目前为止,我只能通过做来知道新的一秒何时开始
if (gameTime.TotalGameTime.Milliseconds == 0)
但我需要一种方法来每秒运行我的函数一些特定的时间。但我不知道该怎么做…
您需要保留一个单独的计数器,以及调用函数的间隔。每秒4次,这就是float interval = 1/4;
。
每帧,根据自上一帧以来经过的毫秒数更新计数器。
检查此计数器是否大于间隔;如果是,则至少已经过了interval
秒,需要调用该函数。
另一个选项可能是使用System.Timers中的Timer类
此类允许在应用程序/游戏中运行定期事件。
有关更多信息,请阅读此处:http://msdn.microsoft.com/en-us/library/system.timers.timer.aspx