Criando um menu de pausa no Unity
Adicionar um menu de pausa é crucial para qualquer jogo Unity, proporcionando aos jogadores um momento para respirar e acessar opções. Este tutorial orienta você durante sua criação, incluindo exemplos de código e explicações.
1. Projete seu menu de pausa
- Esboce o layout desejado, incluindo botões (Continuar, Opções, Sair).
- Considere o uso de painéis transparentes para uma sensação menos intrusiva.
2. Crie a tela
- No painel Hierarquia, clique com o botão direito e escolha "UI -> Canvas".
- Defina "Render Mode" como "Screen Space - Overlay" para posicionamento adequado.
3. Construa o painel do menu
- No Canvas, clique com o botão direito e escolha "UI -> Panel".
- Redimensione e posicione o painel de acordo com seu projeto.
- Renomeie para "PauseMenu" para melhor organização.
4. Adicionar botões
- Clique com o botão direito no painel PauseMenu e escolha "UI -> Button."
- Repita para cada botão desejado (Continuar, Opções, Sair).
- Nomeie-os apropriadamente (por exemplo, "ResumeButton").
- Personalize seu texto, tamanho e posição.
5. Script da lógica
6. Funcionalidade de pausa
'PauseMenu.cs'
public class PauseMenu : MonoBehaviour
{
public bool isPaused; // Flag to track pause state
void Update()
{
if (Input.GetKeyDown(KeyCode.Escape))
{
// Toggle pause state on Escape key press
isPaused = !isPaused;
if (isPaused)
{
PauseGame();
}
else
{
ResumeGame();
}
}
}
void PauseGame()
{
// Set Time.timeScale to 0 to pause gameplay
Time.timeScale = 0;
// Make PauseMenu panel visible (activate its gameObject)
PauseMenu.gameObject.SetActive(true);
}
void ResumeGame()
{
// Set Time.timeScale back to 1 to resume gameplay
Time.timeScale = 1;
// Hide PauseMenu panel (deactivate its gameObject)
PauseMenu.gameObject.SetActive(false);
}
}
7. Interações de botão
- Na janela do Inspetor, selecione cada botão.
- Clique no “+” ao lado de "OnClick" e arraste o script 'PauseMenu' para o campo.
- Escolha a função apropriada (por exemplo, ResumeGame para ResumeButton).
8. Toques Adicionais
- Personalize estilos de botões, adicione efeitos sonoros ou implemente menus de opções.
- Considere usar prefabs para reutilização entre cenas.
Conclusão
Esperançosamente, este guia lhe deu uma vantagem inicial na construção de um menu de pausa funcional em Unity. Lembre-se de expandir essa base adicionando mais recursos e adaptando-a às necessidades específicas do seu jogo.