Adicione mais animações
Vamos adicionar o resto das animações do jogador. Primeiro, vamos adicionar mais algumas plataformas para o jogador saltar para que possamos ver mais facilmente como funcionam as animações.
Volte para o Layout View onde você pode ver o jogador e as plataformas. Clique e arraste para selecionar todas as três peças. Em seguida, segure Control e arraste as plataformas para cloná-las. Faça isso algumas vezes para que haja algumas plataformas para saltar ao redor. Você pode diminuir o zoom para ver isso.
Para nos dar uma visão melhor, também vamos fazer o tamanho da janela um pouco maior. Clique no nome do projeto na parte superior da Barra do Projeto para exibir as propriedades do projeto. Altere o tamanho da janela para 800, 600 **.
Agora que temos um lugar para saltar, com um tamanho de janela maior para que possamos ver mais, vamos adicionar o resto das animações do jogador.
Lembre-se de que estamos usando a ação Set Mirror para inverter automaticamente o player para a esquerda e para a direita. Então, só precisamos importar animações para o jogador que está olhando a direita.
Clique duas vezes no player no para abrir o editor de animação. Existem quatro animações que queremos importar:
1. Idle to run (tween)
2. Run
3. Jump from run
4. Jump from stand
Para cada uma dessas animações, o processo para adicioná-las é o seguinte:
1. Clique com o botão direito do mouse na barra de Animações (por padrão, flutuando para a direita e listando a animação Idle ) e selecione Add animation**.
2. Digite o nome da animação. Você pode querer usar um nome mais fácil de lembrar como IdleToRun .
3. Clique com o botão esquerdo do mouse na animação para selecioná-la. Ela deve ter um único quadro vazio.
4. Clique com o botão direito do mouse na barra de quadros de animação (por padrão, na parte inferior, listando os quadros de animação) e selecione Import sprite strip....
5. Localize o sprite strip. Note que no pacote do sprite Jungle cada frame também está disponível como um arquivo PNG separado. Os quadros podem ser importados dessa forma, mas geralmente é mais rápido usar a versão de sprite strip (tira de sprites), então selecione a imagem com a tira completa.
6. Verifique o número de células e clique em OK.
7. Exclua o primeiro quadro vazio do qual não precisamos mais.
8. No primeiro quadro, coloque a origem nos pés do jogador. Tente fazê-lo coincidir com a posição na animação Idle . Aplique a origem a toda a animação como fizemos com a animação Idle (clique com o botão direito do mouse em Origin na caixa de diálogo Image Points Origem e selecione Apply to whole animation).
8. Mantenha a tecla shift pressionada e clique em Crop para recortar todos os quadros importados de uma vez, removendo as áreas transparentes desnecessárias.
9. Na Barra de propriedades, certifique-se de que cada animação tem as seguintes propriedades:
Speed: 22 for JumpFromStand, 15 para todo o resto
Loop: Yes for Run, No para todo o resto
Faça isso para cada animação, então finalmente há cinco animações para o jogador.
Feche o editor de animação. Agora precisamos dizer ao jogador para mudar para a animação apropriada no momento apropriado. Para fazer isso, o comportamento de plataforma fornece animation triggers (gatilhos de animação) - eventos que são executados quando o jogador deve mudar a animação. Então nós apenas usamos a ação Set animation do player. Lembre-se que o comportamento Platform (com os gatilhos de animação) está no objeto PlayerBox e, em seguida, queremos definir a animação do objeto visível Player .
Observe também que temos uma animação IdleToRun . Isto significa que quando começamos a andar, as animações vão assim:
Parado: Idle
Começa a andar: IdleToRun
Quando IdleToRun terminar: Run
Isso também é fácil de configurar com eventos.
Configurando os eventos de animação
Esperemos que até agora você esteja familiarizado com o processo de criação de um evento:
1. Selecione o objeto.
2. Selecione a condição ou ação.
3. Opcional: digite os parâmetros se a condição ou ação tiver algum.
Volte para a Folha de Eventos. Em primeiro lugar, vamos definir a animação para IdleToRun quando começarmos a andar, usando o gatilho On moved do comportamento (behavior) Platform do objeto PlayerBox :
Quando a animação IdleToRun termina, então queremos mudar para a animação Run . Podemos fazer isso usando o gatilho On animation finished no objeto Player :
Se o player estiver andando/correndo, e então ele para, precisamos mudar de volta para a animação Idle . Podemos fazer isso com o gatilho de animação On stopped no objeto PlayerBox :
Execute o jogo. O jogador deve agora ser capaz de mudar de correndo/andando para parado, com a animação IdleToRun trocando entre elas. No entanto, as animações de pulo ainda não são reproduzidas. Uma vez que temos duas animações Jump, também precisamos definir uma animação diferente dependendo de se o jogador está se movendo ou não quando ele saltar. Isso pode ser feito com o seguinte evento:
Observe que aqui sub-events têm de ser usados - eles aparecem recuados sob o evento On jump . Os sub-eventos são verificados após o evento "pai" ter sido executado. Isso implementa corretamente nossa lógica: quando o comportamento de Plataforma saltar, se ele está se movendo, defina para JumpFromRun ; Caso contrário, defina para JumpFromStand .
Para fazer um sub-evento, clique com o botão direito do mouse no evento pai e selecione Add -> Add sub-event, ou selecione-o e pressione S .
Para fazer o evento acima você também precisará da condição invert (inverter), (aparecendo como a cruz vermelha). Condições invertidas significam o oposto do que afirmam. Neste caso, a condição "Platform is moving" invertida significa que "Plataforma NÃO está em movimento". Para inverter uma condição, adicione-a normalmente, então clique com o botão direito do mouse nela e selecione Invert . Alternativamente, selecione-o e pressione I .
Há apenas mais uma coisa que precisamos fazer: o jogador permanecerá em sua animação Jump depois de saltar, mesmo depois de aterrissar, a menos que definamos a animação de volta para Idle ou Run quando aterrissem. Isto é muito semelhante ao evento anterior: no gatilho de animação On land , se estiverem em movimento, defina "Run"; Caso contrário, defina "Idle".
Depois de configurar tudo isso, execute o jogo. Parabéns - você já fez um personagem totalmente animado! Observe como as animações diferentes executam se você saltar parado, ou saltar de correndo. Veja também como quando você aterrissar de um salto, você irá voltar para Idle ou Running dependendo se você está se movendo ou não.
Agora, hora de fazer um inimigo!