Cursos / Jogos Digitais / Desenvolvimento com Motores de Jogos I / Aula
Agora que o nosso personagem está deslizando por todo o cenário, precisamos alterar o script de movimentação, a fim de evitar a utilização de forças. Essa alteração substituirá, por um comando mais simples, toda a parte relacionada à adição de força (rigidBody.AddForce) e controle de velocidade máxima (rigidBody.velocity), sendo responsabilidade desse comando transmitir diretamente a tecla pressionada pelo jogador para a velocidade do nosso personagem. Da mesma maneira, quando não houver tecla pressionada, não haverá movimentação. A Listagem 1, a seguir, demonstra essa alteração, no método FixedUpdate do nosso script PlayerController.cs.
Listagem 1 - Alteração na movimentação do personagem.Pronto! Comentamos toda a parte que era anteriormente relacionada à parte de movimentação, e adicionamos uma nova linha, a destacada em negrito, ao nosso script.
Essa linha altera diretamente a velocidade em X do personagem, através do atributo rigidBody.velocity, para uma multiplicação entre o maxSpeed e o moveH, sendo este último o valor do eixo horizontal do controle do jogador. Com essa alteração, a velocidade do personagem será máxima quando o botão estiver apertado totalmente, e zero quando o botão for solto. Assim, mesmo com o atrito zero que adicionamos ao nosso personagem, quando não houver botão pressionado, ele não se movimentará no eixo X.
Versão 5.3 - Todos os Direitos reservados