1

ゲーム用の単純なハイスコア アドインを実行しています。このためには、経過時間をラベルに表示できる正確なタイマーが必要です。私はこれまでに次のことを試しました:

Windows.Forms.Timer: 高解像度の間隔を保持しません。遅いものもあれば、速いものもあります。

System.Diagnostics.Stopwatch: ティック イベントがありません。

低解像度の Forms.Timer を実装することも考えました。次に、タイマーが開始および停止するときに、システム時間を保存し、それらを差し引いて経過時間を取得します。しかし、私は物事を過度に複雑にしたくありません。何か案は?

4

3 に答える 3

3

ある時点からの経過時間を使用します。次のいずれかより:

  • 任意のタイマーを選択し、15ms に設定し、各ティックに経過時間を表示します (WinForm/WPF コントロールを扱っている場合は問題ありません)。
  • フレームが更新されるたびに新しい値が表示されます (フレームが更新されるたびにコードが通知/呼び出される場合)
于 2013-07-30T17:27:02.173 に答える
3

Stopwatch(高解像度のため) と低解像度の組み合わせを使用することは、それほど複雑ではないと思いますWindows.Forms.Timer

Stopwatch非常に簡単に使用できるため、 を使用しても複雑さはほとんどありTimerません。

(これは、高解像度の経過時間表示で問題がなく、更新間隔が低解像度であることを前提としています。)

于 2013-07-30T17:27:11.020 に答える