1

プログレスバーの速度を制御するタイマーを追加する方法を知っている人はいますか? さらに、プログレスバーの移動中にのみ実行され、プログレスバーが停止したときに停止する別の機能でそれを使用するには、その時間が必要です..具体的には、プログレスバーを制御するタイマーとそれを取得する方法が必要です?

ところで..ビジュアルスタジオでXNAゲーム開発を使用してc#でコーディング

よろしく、

4

1 に答える 1

1

XNAにはタイマー機能はありませんが、経過した秒数を把握できます。

およびメソッドは、プロパティを保持するオブジェクトUpdateを提供します。そのオブジェクトのコピーを前回として保持し(参照ではなくコピーであることを確認してください)、それを「現在の時間」と比較します。差が目標値を超えている場合は、イベントを実行します。DrawGameGameTimeTotalTimeElapsed

//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);
    }
}
于 2013-02-26T21:14:00.743 に答える