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.