C#とDirectXを使用して単純な2Dゲームエンジンを作成しました。これは、テスト用に作成したデモで完全に機能します。を使用するTimer
オブジェクトがありますが、QueryPerformanceCounter
何が適切かわかりません。ゲームループでタイマーを1つだけ使用してゲーム内のすべてを更新するか、タイマーを必要とするすべてのオブジェクトで独立したタイマーを使用します。
私の心配は、スレッドを実装しようとすると、タイマーがどうなるかということです。同期はどうなりますか?
C#とDirectXを使用して単純な2Dゲームエンジンを作成しました。これは、テスト用に作成したデモで完全に機能します。を使用するTimer
オブジェクトがありますが、QueryPerformanceCounter
何が適切かわかりません。ゲームループでタイマーを1つだけ使用してゲーム内のすべてを更新するか、タイマーを必要とするすべてのオブジェクトで独立したタイマーを使用します。
私の心配は、スレッドを実装しようとすると、タイマーがどうなるかということです。同期はどうなりますか?
ゲームオブジェクトごとに、更新(ユーザーインタラクションおよびヒットテストなどの他の計算)と描画関数を用意することをお勧めします。タイマーは最上位のUpdateメソッドを呼び出す必要があり、このメソッドは各オブジェクトのupdateメソッドを呼び出します。描画は、別のタイマーを使用することも、ゲームが終了するまでwhileループで実行することもできます。私の選択は、更新用のタイマーを1つだけにすることです。タイマーの違いについて; タイマークラスの比較