プログレスバーの速度を制御するタイマーを追加する方法を知っている人はいますか? さらに、プログレスバーの移動中にのみ実行され、プログレスバーが停止したときに停止する別の機能でそれを使用するには、その時間が必要です..具体的には、プログレスバーを制御するタイマーとそれを取得する方法が必要です?
ところで..ビジュアルスタジオでXNAゲーム開発を使用してc#でコーディング
よろしく、
XNAにはタイマー機能はありませんが、経過した秒数を把握できます。
およびメソッドは、プロパティを保持するオブジェクトUpdate
を提供します。そのオブジェクトのコピーを前回として保持し(参照ではなくコピーであることを確認してください)、それを「現在の時間」と比較します。差が目標値を超えている場合は、イベントを実行します。Draw
Game
GameTime
TotalTimeElapsed
//at top of class
private TimeSpan previousTime;
private TimeSpan targetTime = new TimeSpan(0, 0, 5); //5 seconds
private bool isFirstUpdate = true;
//later down in your update
public void Update(GameTime gameTime)
{
if(isFirstUpdate)
{
previousTime = new TimeSpan(gameTime.TotalElapsedTime.Ticks);
isFirstUpdate = false;
}
if(gameTime.TotalElapsedTime - previousTime >= targetTime)
{
//do some event, and don't forget to re-set previous time
previousTime = new TimeSpan(gameTime.TotalElapsedTime.Ticks);
}
}