Cursos / Jogos Digitais / Desenvolvimento com Motores de Jogos I / Aula

arrow_back Aula 10 - Desenvolvendo a Primeira Fase - Parte 2

3. Adicionando Plataformas Móveis

3.1 Plataforma móvel com Script

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.
Fonte: Elaborada pelo autor.

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.
Fonte: Elaborada pelo autor.

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.

Player movendo-se juntamente à plataforma devido à hierarquia criada.

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