Tôi có chức năng tạm dừng được triển khai và nó hoạt động chính xác ở chỗ nó làm mờ màn hình trình phát và dừng cập nhật lối chơi.
Vấn đề là GameTime tiếp tục tăng trong khi bị tạm dừng, vì vậy phương pháp của tôi kiểm tra gameTime so với trướcSpawnTime trước khi sinh ra một kẻ thù khác sẽ bị rối và nếu trò chơi bị tạm dừng quá lâu, có thể nhận thấy rằng kẻ thù tiếp theo rút ra quá sớm.
Đây là mã của tôi để cập nhật kẻ thù.
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();
}
...
Tôi cũng có các phương pháp khác phụ thuộc vào gameTime. Tôi đã thử lấy tổng thời gian tạm dừng và trừ đi tổng số thời gian của trò chơi, nhưng dường như tôi không thể làm cho nó hoạt động chính xác nếu đó là cách tôi nên giải quyết vấn đề này.
Nếu bạn cần xem bất kỳ mã nào khác cho tôi biết. Cảm ơn bạn.