Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Aprenda Finalizar Animação do Jogador | Sistema de Animação do Unity
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
Finalizar Animação do Jogador

Animação de Salto

Para o salto, teremos duas animações: Como o jogador irá saltar e depois cair, precisamos criar duas animações para isso. A transição entre elas será baseada na "velocidade y" do jogador; se y for positivo, ele está saltando, e se y for negativo, ele está caindo. Podemos obter a velocidade y do componente Rigidbody2D anexado ao jogador.

csharp

Este código atribui o valor para o parâmetro de transição entre o salto e a queda.

Explicação do Código

csharp
csharp

Esta linha verifica se a tecla Espaço foi pressionada (Input.GetKeyDown(KeyCode.Space)), se o jogador está no chão (isGrounded) e se o jogador não está atacando atualmente (animator.GetBool("isAttacking") == false). Se todas as condições forem atendidas, o bloco de código a seguir será executado.

csharp

Esta linha adiciona uma força para cima ao componente Rigidbody (rb) anexado ao jogador, simulando um salto. A força aplicada é na direção para cima (Vector2.up) com magnitude definida por jumpForce, e é aplicada de forma impulsiva (ForceMode2D.Impulse).

csharp

Esta linha define um parâmetro booleano "isJumping" no componente Animator como verdadeiro, acionando a animação de salto.

csharp

Esta linha verifica se o jogador está atualmente pulando (animator.GetBool("isJumping") == true), se a velocidade vertical do jogador é negativa (rb.velocity.y < 0) e se o jogador está no chão (isGrounded). Se todas as condições forem atendidas, o bloco de código a seguir será executado.

csharp

Esta linha define o parâmetro booleano "isJumping" no componente Animator como falso, indicando que o jogador terminou de pular e cair e mudará sua animação para inativo.

csharp

Esta linha lança um raio para baixo a partir da posição dos pés do jogador (playerFeet.position) para detectar se o jogador está no chão. Retorna verdadeiro se o raio interceptar qualquer colisor na camada do chão dentro de uma distância de 0.1 unidades, atualizando a variável isGrounded de acordo.

question mark

O que representa um raycast no Unity?

Select the correct answer

Tudo estava claro?

Como podemos melhorá-lo?

Obrigado pelo seu feedback!

Seção 1. Capítulo 6
Sentimos muito que algo saiu errado. O que aconteceu?
some-alt