Cursos / Jogos Digitais / Desenvolvimento com Motores de Jogos I / Aula
Esse método, que não possui qualquer parâmetro ou qualquer retorno, inverte o valor da variável de movimentação e, em seguida, altera a escala do personagem. Aí você se pergunta: “Mas a escala não serve para alterar o tamanho?”. Sim. A escala altera o tamanho. Entretanto, ao alterarmos o valor do sinal da escala, espelhamos o objeto no eixo que teve o seu sinal alterado. Se alterarmos, por exemplo, o X, mudamos a direção na qual o objeto está orientado horizontalmente. O mesmo vale para o eixo Y. Se alterarmos o sinal da escala nesse eixo, colocaremos o personagem de cabeça para baixo. Interessante, não?
É importante ressaltar que, para alterarmos a escala em X do objeto, precisamos criar um novo Vector3 (pois a escala é composta por valores em X, Y e Z) e, então, colocar o valor da localScale do objeto como sendo esse novo Vector3. Os valores utilizados para esse nosso vetor são os valores da escala antiga, porém, multiplicando o X por -1, a fim de inverter o seu sinal. É exatamente a mesma coisa que está sendo feita na função Flip(). Legal, não? E, somente com isso, o nosso personagem já muda de direção ao se movimentar!
O principal aspecto desse primeiro exemplo realizado é justamente a utilização da variável movingRight. Veremos, na próxima aula, que a animação depende de variáveis, as quais serão indicadoras de onde o personagem está e o que ele está fazendo para que a animação correta seja utilizada. Essa ideia funcionará da mesma maneira como funcionou com o movingRight. Teremos variáveis de controle indicando onde o personagem está e, de acordo com as alterações sofridas por elas, alteraremos as animações. É bem simples! :D
Mas, para criarmos nossas animações, precisamos, antes, que o nosso personagem possua um animador capaz de controlar cada uma delas. A fim de isso ser possível, adicionaremos, agora, um novo animador ao personagem, para que tal animador receba os estados, as animações e faça tudo se mover adequadamente. E isso pode ser programado visualmente! Animador, não? :P
Versão 5.3 - Todos os Direitos reservados