Vamos agora fazer um estágio vertical, colocar plataformas que se movem automaticamente, e fazer um gráfico de "foreground", que se sobreporá aos demais gráficos.
Depois de abrir seu projeto no ARGS, vá para a tela 2 e crie um novo estágio em "new game stage 1x50 V". Agora vamos montando os tiles do cenário, como já aprendemos nos tutoriais anteriores.
Eu quero criar alguns detalhes animados no cenário: engrenagens e correntes animadas que ficarão por trás das plataformas que se movem. Então, depois de fazer os gráficos destas animações e adicionar na tela 5 (sprites) do meu projeto, vamos para a tela 4, de atores, e clicamos em "new sprite".
Aqui está minha engrenagem, ela tem sua animação, defini ela no "layer" 1 (sprites que ficam mais atrás na ordem de prioridade) e gravidade (gravity) em 0. não precisamos definir nenhum comportamento pra esse sprite, ele vai ficar apenas ali, flutuando no cenário mostrando sua animação. O mesmo eu fiz depois para a corrente.
Tendo meus sprites de detalhes animados pro cenário prontos, agora é só ir colando eles no cenário.
Nesse processo senti falta de correntes viradas no sentido horizontal. Fiz os gráficos novos e criei um novo ator do tipo sprite da corrente.
Dica: É possível copiar um ator já existente com o atalho de teclado "Ctrl + D". Assim, eu fiz uma cópia do meu ator "corrente", renomeei a cópia como corrente horizontal, e mudei o gráfico de sprite do ator para o gráfico na horizontal. Assim você poupa tempo na criação de atores semelhantes.
Agora vamos criar nossa plataforma móvel. na tela de atores (4), crie um "new enemy". A plataforma é um inimigo que tem algumas proipriedades específicas:
- Hit box: coloque a colizão em "Bbox", e o tipo em "PLATF".
- Vitality: se não quer que a plataforma seja destruída pelo jogador coloque a vitaldiade em 0 (infinita).
- Damage: Se não quer que a plataforma inflija dano ao jogador, coloque o dano em 0 (zero dano).
- Gravity: vamos colocar a gravidade em 0 (zero) para que ela fique flutuando e siga a ação que vamos determinar a seguir.
Quanto ao "behavior" deste ator que servirá de plataformas, vamos colocar o seguinte:
- que ela acelere a uma velocidade determinada (se lenta coloque algo entre 0.1 e 0.4)
- que esse ator siga a direção das setinhas azuis
Testamos nosso ator apertando tecla de espaço no teclado, e aqui que acontece a mágica: colocamos as setas azuis pelo cenário de teste para ver ela se movendo e mudando sua direção ao tocar nas setas.
Agora é só posicionar o ator plataforma nos lugares em que desejamos, colocar as setas azuis (que ficarão invisíveis ao jogador) para que deem a direção para nossas plataformas voadoras.
Por fim, eu quero fazer um gráfico de "foreground", que vai ficar sempre na frente de outros gráficos. Já notaram que eu tenho deixado uma linha de tiles em preto na parte superior e na parte inferior da tela? Faço isso por que desejo sacrifiar uma parte visível da tela em prol de não misturar as informações do HUD (pontuação, número de vidas, etc) com o gráfico do cenário. No meu cenário vertical bastou apenas não colocar nenhum gráfico de tiles a linha mais abaixo e mais acima da tela. Mas no cenário vertical a cosia muda um pouco.
Para ter uma barra preta na parte de cima e de baixo da tela, no cenário vertical, eu criei o gráfico de uma barra preta de 16X128 pixels (lembrando que a resolução é de 256X256 pixels e que o tamanho máximo de um sprite é de 192X192 pixels).
Para minha barra preta eu criei um ator do tipo inimigo que deve ter as seguintes propriedades:
- Layer: 6, a camada mais a frente dos sprites e "Float" 1, por que ele vai ficar fixo naquele ponto da tela, não importa se a tela se mexer (scroll)
- Vitality: 0, infinito
- Damage: 0, ele não causa dano
- Gravity: 0, a gravidade do game não afeta este ator.
- Behavior: não precisa de nenhum comportamento, ele apenas vai existir.
Agora é só posicionar minha barra preta (que poderia ser com gráficos detalhados, maior, com animações) no início do estágio, duas barras lado a lado em baixo, e duas em cima da primeira tela.
Feito isso, agora é terminar os detalhes do cenário, posicionar os inimigos, e testar nosso estágio vertical.
Baixe a versão atualizada deste projeto de exemplo no link: http://www.bwass.org/bucket/Dev!007.zip
EDIT: Adicionei uma plataforma que cai quando o jogador passa por cima dela. Assim como na outra, você vi criar um tor do tipo ENEMY, com as propriedades de ser plataforma, de não causar dano ou sofrer dano vindos do ator principal.
Importante: nas propriedades do "GRAVITY" do ator você deve colocar 0 (zero), para ele não ser afetado pela gravidade.
Depois de inserir os gráficos, segue o BEHAVIOR deste ator nas etapas de 1 a 3 seguindo a tabelinha no ARGS:
1 - Aquele ícone com um "H" é a interação com o ator HERO, ou seja, o jogador. Por um tempo indefinido o ator aguarda que o jogador se aproxime distância de 2 pixels verticais, quando isso ocorrer ele vai pular para a coluna 2 (experimente valores diferentes, colocar horizontal ou em ambos)
2 - Por um tempo de uns 90 frames (um segundo e meio) a plataforma vai oscilar horizontalmente e emitir um som
3 - Por um tempo breve ela vai começar a acelerar na direção 270º (ou seja, para baixo), fazendo o movimento de cair.
3 - Por um tempo breve ela vai começar a acelerar na direção 270º (ou seja, para baixo), fazendo o movimento de cair.
Agora é só testar, como de costume, experimente alterar os parâmetros e ver o que acontece.
Nenhum comentário:
Postar um comentário