Como criar coyote time
Resumo
O Coyote Time foi usado pela primeira vez em desenhos animados, como o famoso desenho do Papa-Léguas, mas também é uma ferramenta eficaz no design de videogames.
Neste artigo + vídeo aula você irá aplicar uma das técnicas aplicadas em jogos de plataforma, que é o Coyote Time.
Coyote Time
A técnica de coyote time é considerada uma das mais simples de ser aplicada em jogos de plataforma, mas possui um efeito de gameplay muito interessante. Essa técnica permite que o jogador consiga correr no ar e pular passando um pouco dos limites da plataforma. Imagine que o personagem está correndo na plataforma e no último pixel da plataforma, o jogador pressiona o botão de pulo, mas o personagem sofre uma queda, e consequentemente sofrer dano ou morrer. Nesse sentido, a aplicabilidade dessa técnica, muitas vezes, pode permitir ao jogador uma melhor experiência.
Para aplicar a técnica, você deve considerar algumas variáveis, como a velocidade do personagem e o do tipo de jogo que está sendo desenvolvido, como um jogo mais hardcore.
Então, vamos colocar isso em prática, e a primeira coisa a definir são as variáveis. Veja a seguir:
[Header("Coyote Timer")] public float coyoteTime = 0.3f; private float coyoteTimeCounter; private bool canCoyoteTime;
A seguir, verifica-se o personagem está tocando no solo, caso seja verdadeiro, pode dizer que é permitido realizar o coyote. Veja o trecho do código.
if (coyote) { coyoteTimeCounter = 0f; canCoyoteTime = true; }
Definido, essa condição, pode-se implementar o resto do código, que consiste em verificar se o personagem não está tocando no solo e está dentro da permissão de Coyote. Dessa forma, inicia-se o contador, e após o termino, a variável canCoyoteTime deve ser falsa.
if (detection.ground == null & canCoyoteTime) { coyoteTimeCounter += Time.deltaTime; if (coyoteTimeCounter && coyoteTime) { canCoyoteTime = false; } }
Em seguida, ao pressionar o botão para pular, você pode verificar se o Personagem está tocando o solo, OU está dentro do timer para realizar o pulo.
if (detection.ground !=null || canCoyoteTime) { JumpPlayer(); }
Para verificar a implementação completa, você pode assistir a vídeo aula:
Conclusão
Nessa aula, você aprendeu a realizar o Coyote Time e a importância dele em jogos de plataforma, uma vez que melhora a experiência do jogador.
jiraspiom jiraspiom
Se juntar ele e jumpBetter, o personagem da 2 plulos.