2012-04-22 8 views
0

私は、 "e"を使用するゲームを今すぐ実行しています:私はリセットする方法はわかりませんが、世界のスピードを維持するために私はvoid OnUpdate(オブジェクト送信者、GameTimerEventArgs e)これは、私はこれは私がそれwindows phone GameTimerEventArgs reset xna

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

の提案を使用する方法である

(実際にゲームを終了せずに)ゲームを再起動したときのためにGameTimerEventArgs?

答えて

2

クエリGameTimerEventArgs.ElapsedTime各フレーム。無視TotalTimeを無視してください。

変数の経過時間を累積します。これにより、ゲームを再起動するときに変数をゼロにリセットすることができます。一時停止中に時間を累積しないことで一時停止を実装することもできます。

あなたのケースでは、ゲームプレイが進行するにつれてworldSpeedが増えているようです。そうではなく、実行に費やされた時間を蓄積し、あなただけのこのようなworldSpeedへの変更蓄積できます

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

をそして、あなたが再起動するたび3にworldSpeedを設定します。

関連する問題