ゲームが作れるようになるまでがんばる日記

ゲーム制作のことを中心にゲームに関することを書いています

更新と描画

各モードを更新と描画の処理に分けて実装したのだけれども、またこれに問題が。描画はFpsTimerを使って指定したフレームレートで描画するようにしたため、更新と描画が一致しないことが生じてしまう。

void Loop()
{
    // モードの更新
    ModeExec();

    // 描画待ち
    fpsTimer.WaitFrame();
    if (fpsTimer.ToBeSkip) return;

    // モードの描画
    ModeDraw();
}

とこんな感じにしていたのだけども、これでは更新でモードを変更したときに描画待ちで描画がスキップされるとそのフレームの描画が行われなくなってしまう。
うーん、単純に分離しただけでは駄目だった。きちんと考えて設計しないと。なかなか難しいなぁ。