Como pausar o jogo no Unity

Bem-vindo ao tutorial sobre como implementar um recurso pause em Unity. Este recurso simples, mas essencial, pode melhorar muito a experiência do jogador. Vamos mergulhar no guia passo a passo:

Etapa 1: crie um script PauseManager

  • Comece criando um novo script C# em Unity e nomeie-o "PauseManager" ou um nome de sua escolha.

Etapa 2: implementar a funcionalidade de pausa

  • Abra o script e substitua o código existente pelo seguinte:

'PauseManager.cs'

using UnityEngine;

public class PauseManager : MonoBehaviour
{
    private bool isPaused = false;

    // Update is called once per frame
    void Update()
    {
        if (Input.GetKeyDown(KeyCode.Escape))
        {
            if (isPaused)
                ResumeGame();
            else
                PauseGame();
        }
    }

    void PauseGame()
    {
        Time.timeScale = 0f;
        isPaused = true;

        // Pause all audio
        AudioListener.pause = true;
    }

    void ResumeGame()
    {
        Time.timeScale = 1f;
        isPaused = false;

        // Resume all audio
        AudioListener.pause = false;
    }
}

Etapa 3: anexar o script a um GameObject vazio

  • Crie um GameObject vazio em sua cena e anexe o script "PauseManager" a ele. Este script agora irá lidar com a funcionalidade de pausa, incluindo pausar e retomar o áudio.

Etapa 4: personalize conforme necessário

  • Sinta-se à vontade para personalizar o script de acordo com os requisitos do seu jogo. Você pode alterar o gatilho principal, adicionar recursos adicionais ou modificar o comportamento para atender às suas necessidades específicas.

Conclusão

Agora, ao pressionar a tecla designada durante o tempo de execução (o padrão é Escape), o jogo irá pause perfeitamente, incluindo uma pausa em todo o áudio. Ao reiniciar, o jogo e o áudio continuarão suavemente, proporcionando uma experiência de jogo mais envolvente.