Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
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

bookFinalizar 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.

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

Explicação do Código

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.

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).

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

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.

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.

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.

O que representa um `raycast` no Unity?

O que representa um raycast no Unity?

Selecione a resposta correta

Tudo estava claro?

Como podemos melhorá-lo?

Obrigado pelo seu feedback!

Seção 1. Capítulo 6
some-alt