Agora ele para de correr quando encontra a parede. Mas, percebeu um outro problema? Ele continua parado depois que você o afasta da parede. O que ocorre é que não devemos SÓ verificar se ele está contra a parede, mas também se ele está em movimento ou não. Então, vamos adicionar mais uma condição ao evento da parede que fizemos a pouco:
Botaõ direito em 'Platform has wall to left' e selecione 'Add another condition':
Add event: Player -> Platform: Is moving
Mas, ainda não é o que queremos. Queremos o oposto! Sem problemas, basta inverter a condição:
Faça o mesmo com 'Platform has wall to right'. Resolvido!
Agora vamos lidar com o problema do Tim continuar correndo mesmo quando você não está apertando nenhuma das teclas. Adicionemos o evento:
Add event: Player -> Platform: On stopped
Add action: PlayerImages -> Set animation -> "Standing"
Agora sim, o Tim se movimenta da forma apropriada.
Acertando o pulo
Antes de terminar a primeira parte do tutorial, vamos tornar o jogo mais fácil para jogar:
Acho que você percebeu que existe um problema quando o Tim pula. Faltam algumas coisas para que deixemos tudo funcionando perfeitamente. Primeiro, adicione o seguinte evento:
Add event: Player -> Is outside layout (na seção 'Size & Position')
Add action: Player -> Set position -> para X, digite 370; para Y, digite 100.
Isso fará com que quando ele cair da plataforma e sair do layout, surja na parte de cima da tela.
Segundo; vamos adicionar o seguinte comportamento ao Tim:
Na ‘Objetcts bar’ clique com o botão direito no objeto Player e clique em ‘Behaviors’. Na nova janela, clique na cruz verde e adicione o comportamento ‘Jumptrhu’.
Terceiro, vamos adicionar o seguinte evento:
Add event: Player -> Plataform on Jump
Add action: PlayerImages -> Set animation -> digite “Falling”
Teste o jogo e verá que o Tim agora pula e cai das plataformas, assim como possui uma animação para o movimento de pular.
Só que você perceberá que quando pula para outra plataforma e continua apertando a seta para o movimento, a animação do Tim fica parada na animação que colocamos para o pulo. O ideal é que assim que ele aterrize, aconteça o seguinte teste:
Se está em movimento, exiba a animação ‘Running’, se não, exibir a ‘Standing’.
Isto vai nos gerar um evento com dois sub-eventos. Vamos colocá-lo:
Primeiro faça: Add event: Player ->Platform On landed
Agora clique com o botão esquerdo EM CIMA da seta verde que aparece bem à e clique em 'Add sub-event':
Depois faça:
Add event: Player-> Platform: Is moving
Add action: PlayerImages -> Set animation -> "Running"
Adicione outro sub-evento da mesma maneira:
Add event: Player-> Platform: Is moving
Agora, clique com o botão direito em cima de ‘Platform is moving’ e clique em INVERT. Depois faça:
Add action: PlayerImages -> Set animation -> "Standing"
Você terá algo assim:
Vamos adicionar uma animação para quando ele cair. Adicione outro evento:
Add event: Player -> Platform: On fall
Add action: PlayerImages -> Set animation -> "Falling"
É a mesma animação para quando pula.
Este é o fim da primeira parte deste tutorial. Na próxima vamos falar das particularidades da pontuação em jogos de plataforma, onde precisando fazer diferença dos diferentes pisos e ter diferentes pontos para quando alcançamos eles.