私は一時停止機能を実装しており、プレーヤーの画面を暗くしてゲームプレイの更新を停止するという点で正しく機能します。
問題は、一時停止中にGameTimeが増加し続けることです。そのため、別の敵を生成する前にgameTimeとpreviousSpawnTimeをチェックするメソッドがめちゃくちゃになり、ゲームの一時停止が長すぎると、次の敵の描画が早すぎることがわかります。
これが敵のアップデート用のコードです。
private void UpdateEnemies(GameTime gameTime)
{
// Spawn a new enemy every 1.5 seconds
if (gameTime.TotalGameTime - previousSpawnTime > enemySpawnTime)
{
previousSpawnTime = gameTime.TotalGameTime;
// Add an Enemy
AddEnemy();
}
...
gameTimeに依存する他のメソッドもあります。合計休止時間を取得し、それを合計ゲーム時間から差し引こうとしましたが、それが私がこれを解決しようとする方法である場合、それが正しく機能するようには見えません。
他のコードが必要な場合はお知らせください。ありがとうございました。