EU implementei este codigo do "Mão na massa" e agora ao dar play meu personagem começa a voar
Você está vendo a versão anterior da nova experiência da Alura que estamos preparando para você. Em breve, ela ganha uma identidade visual novinha totalmente pensada em potencializar seus estudos!
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!