Cursos / Jogos Digitais / Desenvolvimento com Motores de Jogos II / Aula
Tudo certo agora! Vamos utilizar esse valor para mover a esfera para direita/esquerda de acordo com o desejo do jogador.
Para o jogo e dê um duplo clique novamente para abrir o script no editor. No método Debug(), logo abaixo do comando Debug.Log adicione o seguinte:
Esses dois comandos são bem simples. Inicialmente criamos uma nova variável do tipo Vector3 para representar o quanto desejamos mover a esfera a cada frame. Usamos um Vector3 pois, como estamos em três dimensões, os movimentos podem acontecer em todas as três direções ao mesmo tempo e cada componente do Vector3 (x, y e z) deve guardar o quanto desejamos mover o objeto em cada uma das direções. Repare que inicializamos o Vector3 chamado “mover” com os valores x = movimentoHorizontal, y = 0f e z = 0f. Dessa forma, garantimos que o valor movimentoHorizontal afetará somente o eixo X.
O comando transform.Translate(mover); utiliza, para alterar a posição atual da esfera, o Vector3 criado anteriormente. Todo script associado a um objeto visível no Unity tem uma variável chamada “transform”, a qual provê diversos tipos de operações que modificam sua posição, rotação e escala. Estamos utilizando o método Translate que recebe um Vector3 e move o objeto nas direções x, y e z na quantidade indicada nos valores das componentes do Vector3.
Agora, faremos o mesmo para o eixo Vertical e modificaremos a criação do Vector3 “mover” a fim de utilizar o valor desse eixo para a componente Z. No Unity, o componente X representa as laterais, e Z representa as direções para frente e para trás. O componente Y é para cima e para baixo, e não queremos mover o objeto nessas direções por enquanto. O seu código final do método Update() deve ficar assim:
Na Figura 19 você pode ver como ficou o código completo do script no Editor.
Finalizamos a primeira parte de nossos estudos sobre as entradas do usuário e movimento, tudo bem até aqui? Você deve ter notado que vários aspectos ainda não estão ideais, como a velocidade do movimento, a falta de reação física da esfera, a câmera travada a qual eventualmente faz o objeto controlado sair do campo de visão, etc. Não se preocupe, pois retomaremos esses tópicos na próxima aula e realizaremos vários ajustes. Aguenta firme, ainda temos muito a aprender! Espero que tenham gostado! ;)
Versão 5.3 - Todos os Direitos reservados