Implementação Simples de Escadas para um jogo de Plataforma

3

Tagged

Attached Files

The following files have been attached to this tutorial:

.capx

ladder-platform-tutorial.capx

Download now 7.12 KB

Stats

5,514 visits, 6,243 views

Tools

License

This tutorial is licensed under CC BY 4.0. Please refer to the license text if you wish to reuse, share or remix the content contained within this tutorial.

Published on 15 May, 2013. Last updated 25 Feb, 2019

E ai galera!

Estive procurando por um tutorial de escadas mas nunca encontrei. Então resolvi fazer o meu!

1) Começando

Primeira coisa, faça uma fase simples com o Solid behavior e um jogador. Faça com que o jogador não possa pular nas plataformas acima.

Não vou explicar como fazer um jogo simples de plataforma, mas você pode encontrar ótimos

tutoriais

a respeito.

2) Behaviors do jogador

Dê ao seu objeto jogador as behaviors de Platform e 8 direction. Basicamente, nós vamos ativar um e desativar o outro quando estivermos em escadas e vice versa quando não estivermos. Simples né?

Veja a parte em negrito! É importante!

Directions: Up & Down

Set angle: No

Default Controls: Yes

Vou deixar o resto como o que já vem em default, isso depende mais de você e de seu jogo.

Mas se deixarmos assim, pode ficar bem bugado, então vamos "desligar" a behavior de 8 direções no início do layout:

É importante que você "ignore o input do usuário" ao invés de "desabilitar".

Além disso, tenha certeza que Default Controls estão desabilitados no Platform behavior.

Teste, mas provavelmente está tudo certo!

Não se esqueça de salvar!!

3) Implementação da escada

Vamos fazer um novo objeto sprite chamado de "escada" ("ladder" em inglês). Faça-o mais fino que o jogador.

Agora vamos começar a implementar suas funções!

Vamos começar dando ao jogador duas variáveis de instância: canClimbLadders e onLadders.

A cada frame ("tick"), o jogo irá checar o status do jogador para ver se ele PODE subir uma escada, setando canClimbLadders para true ou false, porque talvez em seu jogo haverá algum estado que você não quer que ele possa subir em escadas, como por exemplo enquanto ataca ou leva dano, sei lá. Em nosso exemplo, ela sempre será true.

A variável onLadders irá simplesmente nos dizer se o jogador está em uma escada ou não.

Certo, então vamos fazer nosso jogador escalar esta escada.

Teste e veja que está mais ou menos funcionando... O jogador apenas vai pra cima quando vc segunda a Seta para Cima e está bem falhado. O segredo está naquele primeiro bloco Else.

Vamos melhorá-lo!

Certo, agora nós mudamos a condição para sair da escada quando pressionamos S. Também fazemos o jogador "travar" no centro da escada com a condição Set X. As condições Platformer vector estão lá para cuidar de alguns bugs, que você pode testar para descobrir sozinho caso ainda não tenha o feito.

Além disso, comentários e SALVE !

Nesse ponto você já deve ter percebido que você não pode passar da escada, então qual o sentido?

Isso é outra tarefa simples:

Nossa, mas agora não podemos sair das escadas - a não ser que pressionemos S - mas deveríamos sair da escada quando encostássemos no chão acima ou abaixo, certo?

Veja que eu troquei as condições Set Platform Vector X e Set Platform Vector Y de lugar para otimização.

Estamos quase lá! Vamos fazer agora o jogador escalar as escadas quando estiver acima dela:

E - com alguns ajustes - terminamos :)

4) Conclusão

Espero que os comentários - apesar de estarem em inglês - façam com que fique mais fácil ler o código e entender a lógica.

Este é o meu primeiro tutorial então peguem leve comigo. xD

Deixei qualquer pergunta (ou qualquer feedback, na verdade) nos comentários abaixo e eu tentarei responder!

Ah, e o .capx está lá do lado então tenha certeza de baixá-lo se quiser. :)

Até mais!

.CAPX

ladder-platform-tutorial.capx

Download now 7.12 KB
  • 0 Comments

Want to leave a comment? Login or Register an account!