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!