Cursos / Jogos Digitais / Desenvolvimento com Motores de Jogos I / Aula
Vejamos a Listagem 3.
Listagem 3 - Modificações (em negrito) feitas no PlayerController.cs para adicionar o comportamento de quebra ao personagem do jogo.Criamos, como visto na Listagem 3, o nosso método Break. A primeira coisa que ele precisa fazer, no entanto, é parar o personagem. Para tanto, precisamos criar uma nova variável booleana active que nos mostra se o personagem está ativo ou não. Caso não esteja, ignoramos todo o controle tido pelos métodos FixedUpdate e Update sobre o personagem, tornando o personagem estático. Fazemos isso com um novo if no início de cada um desses métodos, checando se estão ativos ou não.
E por falar em estático, uma vez que o nosso personagem não está mais sob o controle do jogador e acaba de se quebrar, podemos também alterar o tipo do corpo rígido para Static, a fim de ter a garantia de ele não estar mais em nenhum dos cálculos físicos feitos pelo motor.
Com isso, precisamos, agora, apenas realizar mais duas etapas. A primeira delas é avisar ao nosso Animator Controller que o personagem não está mais ativo, evitando, assim, de ele cair no estado de pulo/queda, já que o personagem não está mais grounded e esse estado parte de Any State. A última etapa é tocar a nova animação criada no início de nossa aula. Com o método Play, do nosso Animator, podemos iniciar a execução de uma animação pelo nome. Passamos, então, ao parâmetro “Break”.
Assim, nosso método de quebra estará funcionando e pronto para ser chamado pelo script de LevelLoss. Vamos testar? Vai lá, dá o play no jogo e veja o que acontece!
Calma, pessoal! Ele não morreu! Está tudo bem com ele! Um colega de mecatrônica encontrou o robô em pedaços, após o ocorrido, e juntou todas as peças novamente. Está tudo bem! Duvida? Pois vamos adiante, para a próxima seção!
Versão 5.3 - Todos os Direitos reservados