Construindo um jogo de Plataforma - Guia para Iniciantes

O Tim vai acabar desgastando os seus sapatos se ele continuar deslizando pelo chão, então a gente precisa fazer ele correr. Adicione outro event:

Condição: Player -> Platform: On moved

Ação: PlayerImages -> Set animation -> para a Animation, escreva "Running" (deixe a opção 'From' com o valor 'beginning')

Execute o layout de novo e perceba três efeitos não muito realistas:

- Ele corre pra trás em vez de se virar e correr pra frente.

- Ele continua correndo mesmo depois de bater numa parede.

- Ele continua correndo parado no mesmo lugar quando você para de pressionar as setas.

Para lidar com o primeiro problema, obviamente precisamos de outra animação mostrando o Tim correndo para o outro lado. O problema é que eu não fiz uma, mas a boa notícia é que você não precisa fazer também - graças a sabedoria do Construct 2, há uma forma muito fácil de fazer ele se virar e correr pra esquerda. Adicione outro event:

Condição: Keyboard -> Key is down -> pressione a seta para a esquerda

Ação: PlayerImages -> Set mirrored (na seção 'Animations') (deixe a opção 'Mirrored' como está)

Execute o layout de novo. Ah! Assim que o Tim começa a correr para a esquerda, ele continua correndo nessa direção, mesmo quando você faz ele correr pra direita. Adicione outro event:

Condição: Keyboard -> Key is down -> pressione a seta para a direita

Ação: PlayerImages -> Set mirrored -> e dessa vez escolha a opção 'Not mirrored'

Agora o Tim corre de forma muito mais realista - só que ele ainda continua correndo mesmo depois de bater numa parede. Adicione mais dois events:

Condição: Player -> Platform: Is by wall -> Side: left

Ação: PlayerImages -> Set animation -> escreva "Standing" (deixe a opção 'From' com o valor 'beginning'))

Condição: Player -> Platform: Is by wall -> Side: right

Ação: PlayerImages -> Set animation -> "Standing"

Agora o Tim fica numa pose mais realista quando ele bate numa parede. Mas isso acaba criando um efeito colateral indesejado. Você conseguiu ver? Sim, ele fica parado nessa posição quando você o movimenta para longe da parede. Não basta somente ver se ele está encostando numa parede antes de fazermos ele parar - precisamos verificar se ele está se mexendo ou não. Então precisamos adicionar uma segunda condição:

Clique com o botão direito na condição 'Platform has wall to left' e escolha 'Add another condition':

Condição: Player -> Platform: Is moving

Mas não é isso que queremos - queremos o contrário. Sem problemas - basta invertermos a condição:

Faça o mesmo para a condição 'Platform has wall to right'. Pronto!

Agora pra resolver o problema do Tim ainda correr parado quando você solta a tecla. Talvez a essa altura do campeonato você já consiga resolver sozinho esse problema:

Condição: Player -> Platform: On stopped

Ação: PlayerImages -> Set animation -> "Standing"

Finalmente, o Tim se movimenta (e para de se mover) de uma forma mais realista.

  • 0 Comments

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