各モードを更新と描画の処理に分けて実装したのだけれども、またこれに問題が。描画はFpsTimerを使って指定したフレームレートで描画するようにしたため、更新と描画が一致しないことが生じてしまう。
void Loop() { // モードの更新 ModeExec(); // 描画待ち fpsTimer.WaitFrame(); if (fpsTimer.ToBeSkip) return; // モードの描画 ModeDraw(); }
とこんな感じにしていたのだけども、これでは更新でモードを変更したときに描画待ちで描画がスキップされるとそのフレームの描画が行われなくなってしまう。
うーん、単純に分離しただけでは駄目だった。きちんと考えて設計しないと。なかなか難しいなぁ。