Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Criar Menu Principal | Melhore o Jogo
Jogo de Luta no Unity
course content

Conteúdo do Curso

Jogo de Luta no Unity

Jogo de Luta no Unity

1. Sistema de Animação do Unity
2. Comportamento do Jogador
3. Comportamento do Inimigo
4. Melhore o Jogo
5. Melhore o Jogo Flappy Bird

book
Criar Menu Principal

Menu Principal

Script para Menu Principal

A classe MainUI é um script simples que fornece funcionalidade para iniciar o jogo e sair da aplicação. Este script é destinado a ser usado com botões de UI no Unity.

Definição de Classe e Métodos

O método StatTheGame é projetado para iniciar o jogo carregando uma nova cena. Especificamente, SceneManager.LoadScene(1) direciona o Unity para carregar a cena com o índice de build 1, que corresponde à sua posição nas Configurações de Build.

O método Quit permite que a aplicação seja fechada chamando Application.Quit(), embora essa funcionalidade só seja eficaz em uma aplicação compilada e não dentro do Editor do Unity.

Uso no Unity

Anexando o Script

Crie um GameObject (por exemplo, um GameObject vazio ou um elemento de UI). Anexe o script MainUI ao GameObject arrastando o script para ele ou usando o botão Add Component no Inspector.

Configurando Botões de UI

Crie um botão de UI (por exemplo, GameObject > UI > Button). Selecione o botão e vá para o Inspector. Na seção On Click (), clique no botão + para adicionar um novo evento. Arraste o GameObject com o script MainUI anexado para o campo de objeto. No menu suspenso, selecione MainUI > functionName.

Gerenciador de Jogo

Script para Gerenciador de Jogo

A classe GameManager é responsável por gerenciar o estado do jogo. Ela usa um padrão singleton para garantir que haja apenas uma instância de GameManager no jogo, gerencia o estado do jogo e transmite mudanças de estado usando eventos.

Definição de Classe e Variáveis Membro

Métodos

Método Awake

Propósito: Garante que haja apenas uma instância de GameManager e impede que ela seja destruída ao carregar novas cenas.

Padrão Singleton: Verifica se uma instância já existe. Se sim, destrói o duplicado. Caso contrário, atribui a instância e marca o objeto para não ser destruído ao carregar uma nova cena.

Método Start

Propósito: Inicializa o estado do jogo como Playing quando o jogo começa e aciona o evento onGameStateChanges.

Método FinishGame

Propósito: Define o estado do jogo como Finished e aciona o evento onGameStateChanges.

Enum GameStates

Propósito: Define os possíveis estados do jogo.

Inimigo Reage a Mudanças de Estado do Jogo

Este método lida com as mudanças de estado do jogo. Quando o estado do jogo muda para Finished, o estado do inimigo é alterado para idle.

Painel de Conclusão

Script para o Painel de Conclusão

A classe FinishPanel lida com a exibição e funcionalidade do painel de conclusão que aparece quando o jogo termina. Este painel fornece feedback ao jogador sobre se ele ganhou ou perdeu e oferece opções para retornar ao menu principal ou sair do jogo.

Explicação

Métodos

Método Start

Propósito: Inscreve-se no evento GameManager.onGameStateChanges para ouvir mudanças no estado do jogo.

Método GameManager_onGameStateChanges

Propósito: Lida com as mudanças de estado do jogo. Quando o estado do jogo é Finished, ativa o painel de finalização e chama OnGameFinished.

Método OnGameFinished

Propósito: Atualiza o texto do painel de finalização com base em se o jogador está morto ou vivo.

Lógica: Se o jogador está morto, o método define o texto como "Você perdeu" em vermelho. Se o jogador está vivo, define o texto como "Você venceu" em verde.

Método BackToMainMenu

Propósito: Carrega a cena do menu principal (índice de construção 0) quando chamado. Este método é destinado a ser vinculado a um botão na interface do usuário.

Método Quit

Propósito: Encerra a aplicação quando chamado. Este método é destinado a ser vinculado a um botão na interface do usuário.

Resumo

A classe FinishPanel exibe os resultados do final do jogo e oferece opções para retornar ao menu principal ou sair. Ela se inscreve em GameManager.onGameStateChanges para atualizar adequadamente quando o jogo termina, melhorando a experiência do usuário com feedback claro e opções intuitivas.

1. O que acontece quando o método `FinishGame` é chamado na classe `GameManager`?
2. O que acontece quando o `GameManager` muda o estado do jogo para `GameStates.Finished`?
O que acontece quando o método `FinishGame` é chamado na classe `GameManager`?

O que acontece quando o método FinishGame é chamado na classe GameManager?

Selecione a resposta correta

O que acontece quando o `GameManager` muda o estado do jogo para `GameStates.Finished`?

O que acontece quando o GameManager muda o estado do jogo para GameStates.Finished?

Selecione a resposta correta

Tudo estava claro?

Como podemos melhorá-lo?

Obrigado pelo seu feedback!

Seção 4. Capítulo 3
We're sorry to hear that something went wrong. What happened?
some-alt