【问题标题】:windows phone GameTimerEventArgs reset xnawindows phone GameTimerEventArgs 重置 xna
【发布时间】:2012-04-22 21:27:05
【问题描述】:
所以我现在有一个游戏正在运行,它使用“e”在:private void OnUpdate(object sender, GameTimerEventArgs e) 来保持世界速度更新,但是我不知道如何重置这个 GameTimerEventArgs重启游戏(不退出游戏)
我就是这样用的
worldSpeed = (float)(3 + e.TotalTime.TotalMilliseconds / 10000);
建议?
【问题讨论】:
标签:
c#
windows-phone-7
xna
【解决方案1】:
每帧查询GameTimerEventArgs.ElapsedTime。忽略TotalTime。
在变量中累积经过的时间。这样,您可以在重新启动游戏时将变量重置为零。您也可以通过暂停时不累积时间来实现暂停。
在您的情况下,随着游戏的进行,您似乎正在增加worldSpeed。因此,与其累积运行时间,不如累积对worldSpeed 的更改,如下所示:
if(!paused)
{
worldSpeed += (float)(e.ElapsedTime.TotalMilliseconds / 10000f);
}
并在每次重启时将 worldSpeed 设置为 3。