Como fazer um jogo plataforma com Construct 2 – parte final
Você aprenderá aqui
- Criar um script básico para quando concluir uma fase ele passe para a próxima
- Criar um script básico para geração de objetos dinamicamente com efeito de bala
- Criar um script básico para Game Over
Elementos necessários
1 grupo de sprites para formar o cenário da fase 2
1 grupo de sprites para formar o inimigo com efeito bala (bullet)
Eu baixei os elementos para este tutorial do site http://www.spriters-resource.com/snes/smarioworld/ , mas para facilitar eu separei os elementos que precisaremos para o tutorial neste link.
Requisitos
Baixar e instalar o Construct 2 (Release 108.2 ou superior) no site: http://www.scirra.com/store/free-html5-game-engine
Ter concluído a parte II: Como fazer um jogo plataforma com Construct 2 – parte II
Algumas coisas que já foram mostradas não vou mostrar passo a passo todas as vezes, então recomendo que faça a primeira parte para se familiarizar com o básico antes de prosseguir. Quando for necessário volte, faça de novo.
Preparando o cenário da fase 2
Primeiro você pode abrir o projeto concluído do tutorial ii, então clique com o botão direito em Layouts (logo abaixo de “Projeto Jogo Plataforma (estilo Mário)” na aba Projetcts), escolha Add layout e escolha, em seguida escolha a primeira opção disponível para criar um novo layout com seu próprio EventSheet.
Renomeie a fase para Fase2 e seu EventSheet para Fase2Eventos para facilitar, coloque o tamanho do layout com Width=4000, Height=432 que é a mesma dimensão da fase 1.
Dentro desse layout fique a vontade para desenhar a fase como quiser. Recomendo que crie os mesmos layers que existem na fase1. Lembre-se de colocar o Paralax do layer do HUD em 0,0 para que ele fique fixo. Veja como ficou a minha aqui embaixo.
Preparando o cenário da fase 1 para ter um objeto de transição
Basta adicionar um sprite novo e colocá-lo na fase 1, pois será a colisão com esse objeto que fará o player mudar de fase.
Script básico mudar o player de fase
Em seguida adiciono um evento para quando o player colidir com ele, levando-o para a fase 2.
E pronto, quando o player colidir com essa placa ele vai direto para a fase 2. Para facilitar eu coloquei um atalho para o final, olhe no projeto disponível para download.
Obviamente, que com esse script apenas mudamos de fase, mas o player não estará habilitado ainda se apenas copiar e colá-lo na fase 2. É necessário implementar o script de fazer o PlayerImage (visual) seguir o PlayerBox (funcionalidade jogável). Você pode até mesmo selecionar todos os eventos da fase 1 para a fase 2 e depois fazer os ajustes necessários, mas para o movimento do Player os mais importantes são esses abaixo:
E é bom adicionar a funcionalidade para coletar moedas também.
Criar o Game Over
Adicione um botão e coloque o nome de GameOver e o display como “Game Over”, ou outro display como “Jovar Novamente”.
Em seguida coloque o script abaixo para que a quantidade de vidas seja colocada com o valor inicial, o player volte para uma posição jogável e o botão de GameOver desapareça.
Faça isso para a fase 1 e para a fase 2 e para as outras fases que criar.
Script básico para lançar inimigos do tipo bala
Primeiro vou inserir um sprite novo com animação usando as imagens do arquivo bullet.png, nomeei ele de Bullet.
Agora temos que adicionar o comportamento de Bullet ao sprite de mesmo nome.
Em seguida vou inserir um sprite limpo, pintar ele de vermelho e posicionar próximo ao sprite Bullet, nomeei ele de TriggerBullet.
Agora é só implementar o script para que o TriggerBullet lance o Bullet de 10 em 10 segundos.
Você vai notar em seu teste que esses Bullets vão se acumulando com o tempo, então é necessário colocar um script pra destruí-los.
Adicione um sprite, pinte ele e coloque fora da área visível, nomeie-o de DestroyBullet (sugestão).
Em seguida coloque um evento para quando o Bullet colidir com o DestroyBullet o Bullet que colidiu seja destruído.
Obviamente que não faz sentido um monte de balas sendo lançadas sem fazer dano algum ao jogador, então vou adicionar um scprit para que ao ser atingido o player perca uma vida e volte ao início.
Script básico criar plataforma dinamicamente
Primeiro vou inserir um sprite novo com animação usando as imagens do arquivo pipe01.png, nomeei ele de Pipe.
Agora temos que adicionar o comportamento de Bullet e de Solid ao sprite Pipe. Coloque o Speed = 20 no efeito bullet, senão o Player não vai conseguir subir no pipe nem usá-los, mas fique a vontade para experimentar outras velocidades.
Em seguida vou inserir um sprite limpo, pintar ele de verde e posicionar próximo ao sprite Pipe, nomeei ele de TriggerPipe.
Depois precisa colocar um sprite limpo, pintar ele de amarelo e posicionar onde o Pipe deverá ser destruído.
Agora é só implementar o script para que o TriggerPipe lance o Pipe de 5 em 5 segundos, e destruído sempre que tocar no DestroyPipe.
Script básico player lançar balas
Primeiro vou inserir um sprite novo com animação usando as imagens do arquivo fire 01.png, nomeei ele de Fire01, adicione o comportamento de Bullet ao sprite.
Agora é só implementar o script para que o PlayerBox lance o Bullet01 a partir de um comando de teclado “tecla F” (Keyboard já adicionamos ao projeto) ou click do mouse (adicione o mouse ao projeto, basta clicar no canvas da fase 2, insert new e escolher o mouse).
E adicionar um evento para que o Fire01 destrua o Bullet ao colidirem e dar ao jogador algumas moedas como recompensa, assim o Fire01 terá alguma função.
Ficou bom, mas as balas de fogo do player sempre vão para o mesmo lado e nunca são destruídas, então temos que destruídas pra não ficar poluindo a memória e a tela.
Veja como ficou
Execute o Run layout para testar o que fizemos até aqui. Clique aqui para ver como ficou o meu. Mesmo antes de chegar o tutorial 3 você pode experimentar coisas e explorar os eventos e ações do Construct 2.
Fim do tutorial
Espero que tenha sido útil. Em breve teremos outros tutoriais e conteúdo próprio.
Referências
https://www.scirra.com/tutorials/253/how-to-make-a-platform-game/
https://www.scirra.com/manual/75/how-events-work
https://www.scirra.com/tutorials/311/level-select
https://www.scirra.com/tutorials/37/guia-para-iniciantes-ao-construct-2/pt-br/page-1
https://www.scirra.com/manual/90/bullet
Nenhum comentário:
Postar um comentário
Evitem usar palavrões