Cursos / Jogos Digitais / Desenvolvimento com Motores de Jogos I / Aula
E tem mais um detalhe interessante que talvez possamos adicionar à nossa plataforma móvel. É comum, em muitos jogos, vermos o personagem, ao subir em uma dessas plataformas móveis, ser carregado por ela. Como será que podemos fazer isso com a nossa plataforma?
É bem simples! Basta o personagem tornar-se filho da plataforma quando eles tiverem em contato! E aí a alteração de posição da plataforma também alterará a posição do filho - o personagem. E fazer isso não é nada complicado! Basta utilizarmos os métodos de detecção de colisão. Só tem uma coisa que precisamos fazer antes, no PlayerController. Para a plataforma poder saber quando o personagem está de fato em cima dela, precisamos de algum método que possa informá-lo isso. Adicionaremos ao nosso PlayerController script o código contido na Listagem 5.
Listagem 5 - Método para consultar a variável grounded.Simples, não? Mas tem um detalhe importante! O método deve ser public, para que a plataforma tenha acesso. Feito isso, vamos ao código final da plataforma em si, visto na Listagem 6.
Listagem 6 - Código da plataforma móvel.Utilizamos dois dos métodos de colisão para detectar a entrada e a saída do player e, então, agir em conformidade. No método OnCollisionEnter2D, verificamos se a colisão ocorrida foi com um objeto "Player", de acordo com a Tag que definimos no início da aula. Se foi, verificamos se o Player está na plataforma, através do novo método public definido, o isGrounded. Caso esteja, dizemos que o parent do nosso player agora é a plataforma.
Quando o player sai do contato com a plataforma, detectamos isso no método OnCollisionExit2D e, então, tiramos a relação de hierarquia que havíamos criado anteriormente, deixando o player se mover livremente novamente. Vejamos o resultado desse script na Figura 12.
Pronto! Com isso, temos uma plataforma móvel, na qual o player se move junto e as coisas funcionam de acordo com o código desenvolvido no script. Mas como podemos fazer isso utilizando animações?
Versão 5.3 - Todos os Direitos reservados