EU implementei este codigo do "Mão na massa" e agora ao dar play meu personagem começa a voar
EU implementei este codigo do "Mão na massa" e agora ao dar play meu personagem começa a voar
Oi Rodrigo! Como vai?
Quando o personagem começa a "voar", geralmente é porque o componente Rigidbody
está configurado de forma que não está respeitando a gravidade, ou a implementação do código de movimentação está com algum detalhe que precisa ser ajustado.
Aqui estão algumas dicas que podem ajudar a resolver o problema:
Verifique a Gravidade: Certifique-se de que a opção "Use Gravity" está marcada no componente Rigidbody
do seu personagem. Isso garante que a gravidade está sendo aplicada corretamente.
Ajuste o Código de Movimentação: No código que você implementou, o vetor de movimentação está sendo definido como new Vector2(moveDirection, transform.position.y)
. Isso pode estar causando o problema, pois transform.position.y
está sendo usado para o movimento vertical. Tente substituir por new Vector2(moveDirection, rigidbody.velocity.y)
para manter a velocidade vertical atual, permitindo que a gravidade atue corretamente.
Verifique o moveSpeed
: Certifique-se de que o valor de moveSpeed
está configurado corretamente e não é excessivamente alto, o que poderia fazer o personagem se mover rapidamente para cima.
Debugging: Adicione alguns Debug.Log()
para verificar os valores de moveDirection
e vectorMoveDirection
, para garantir que estão sendo calculados conforme esperado.
Por exemplo, o código ajustado pode ficar assim:
Vector2 vectorMoveDirection = new Vector2(moveDirection, rigidbody.velocity.y);
rigidbody.velocity = vectorMoveDirection * moveSpeed;
Espero que essas dicas ajudem a resolver o problema do seu personagem voador!
Bons estudos!