Seu jogo já tem um personagem que se move, pula e até fala com outros NPCs. Mas e aí? Como é que o jogador vai começar o jogo? A gente sabe que ter um menu principal é o que dá a cara de “jogo de verdade” pro seu projeto. A falta de uma tela de início funcional faz a gente se sentir preso, com um protótipo que não parece pronto pra ser jogado.
Mas a verdade é que você não precisa de um menu complexo. Você precisa de um menu que funcione. E é exatamente isso que a gente vai fazer agora. Em menos de 10 minutos, a gente vai criar um menu principal simples, com botões que de fato fazem alguma coisa.
Vamos direto ao ponto.
Passo 1: A Cena do Menu
Primeiro, você precisa de uma nova cena. É uma boa prática ter uma cena separada só para o menu principal.
- Vá em File -> New Scene.
- Salve essa nova cena como MainMenu (ou algo do tipo).
- Agora, vamos criar a interface. No painel Hierarchy, clique com o botão direito e vá em UI -> Canvas.
- Dentro do Canvas, clique com o botão direito e vá em UI -> Button – TextMeshPro.
- Repita o processo para ter dois botões. O primeiro será para “Começar o Jogo”, o segundo para “Sair”.
- Renomeie os botões para algo mais claro, como “PlayButton” e “QuitButton”.
- Mude o texto dentro de cada botão para
JOGAR
eSAIR
.
Pronto. A parte visual do menu está feita.
Passo 2: O Código do Menu
Agora, a gente precisa de um script que “entenda” os botões.
- Crie um novo objeto vazio no Hierarchy e chame de “MenuManager”.
- Crie um novo script C# chamado
MenuManager
e adicione-o a este objeto.
Esse script será o cérebro por trás dos botões. Ele vai ter as funções que carregam a próxima cena e que fecham o jogo.
using UnityEngine;
using UnityEngine.SceneManagement;
public class MenuManager : MonoBehaviour
{
// Nome da cena do seu jogo (Ex: Level_1)
public string gameSceneName;
// Função para começar o jogo
public void StartGame()
{
// Carrega a cena do jogo usando o nome que a gente definiu
SceneManager.LoadScene(gameSceneName);
}
// Função para sair do jogo
public void QuitGame()
{
// Fecha a aplicação
Application.Quit();
Debug.Log("O jogo foi fechado.");
}
}
Por que a gente usa SceneManager.LoadScene
? Porque ela é a forma mais simples e direta de carregar uma nova cena. E o Application.Quit()
? Ele simplesmente encerra a aplicação quando o jogador clica em sair. O Debug.Log
é só para a gente ter certeza de que o botão está funcionando, especialmente no editor da Unity.
Passo 3: Conectando Tudo (O Grande Final)
Agora que você tem os botões e o código, só falta ligar um ao outro.
- Selecione o
PlayButton
no Hierarchy. - No painel Inspector, vá na parte de baixo, na seção “On Click ()”.
- Clique no sinal de mais (+) para adicionar um novo evento.
- Arraste o objeto
MenuManager
do Hierarchy para a caixinha que apareceu (oGameObject
). - Clique no dropdown “No Function” e selecione
MenuManager -> StartGame()
. - Repita os passos 1 a 5 para o
QuitButton
, mas desta vez selecione a funçãoMenuManager -> QuitGame()
.
Atenção: Para que o SceneManager.LoadScene
funcione, você precisa adicionar a sua cena de jogo (por exemplo, Level_1
) nas configurações de build. Vá em File -> Build Settings e arraste a cena do seu jogo para a lista.
Conclusão
É isso. Em poucos passos, você transformou seu protótipo em algo com uma tela de início, algo que o jogador pode abrir, clicar em JOGAR e, de fato, começar.
O importante não é ter um menu animado, cheio de efeitos, mas sim ter algo que funcione. Feito é melhor que perfeito. E agora, seu jogo está um passo mais perto de ser jogado por outras pessoas. O que mais você quer adicionar para deixar seu jogo pronto?