2012-04-22 91 views
0

所以我現在有一個遊戲運行在使用「e」的私人無效OnUpdate(對象發件人,GameTimerEventArgs e),以保持世界速度更新,但我不知道如何重置這GameTimerEventArgs當我重新開始比賽(實際上不退出遊戲)windows phone GameTimerEventArgs重置xna

這是我如何使用它

worldSpeed = (float)(3 + e.TotalTime.TotalMilliseconds/10000); 

建議?

回答

2

查詢GameTimerEventArgs.ElapsedTime每一幀。忽略TotalTime

在變量中累計經過的時間。這樣,您可以在重新啓動遊戲時將該變量重置爲零。您也可以通過在暫停時不累積時間來實現暫停。

就你而言,看起來你正在增加worldSpeed隨着遊戲的進行。因此,而不是積累跑步時間,你可以只積累改變worldSpeed這樣的:

if(!paused) 
{ 
    worldSpeed += (float)(e.ElapsedTime.TotalMilliseconds/10000f); 
} 

並設置worldSpeed 3每當重新啓動。