OpenGL アプリケーション用のソリッド ゲーム エンジンを作成するのに問題があります。アクションの多い複数のスプライトで構成されるゲームです。
基本的にすべてのスプライトであるオブジェクトを作成しました。「gameEngine」と呼ばれる別のオブジェクトは、1 秒ごと (タイマー) に一連の計算をループし、新しいゲーム変数を生成します。その後、スプライト オブジェクトは描画データを認識します。
問題は、すべての描画データを収集した後、正確なタイミングで描画が行われ、安定したアニメーションが得られることです。現在のシーンの複雑さに応じて、ゲームの計算にかかる時間は不定です。したがって、実際の描画はさまざまな時点で行われます。どうすればそれを防ぐことができますか?
明確にするために、私のアプローチは次のようになります。
// Every something of a second I call tick
-(void)tick
{
drawingData = gameEngine();
draw(drawingData);
}
このようなゲーム エンジンを構築するためのベスト プラクティスがあるに違いありません。