Pesquisar este blog

sábado, 28 de janeiro de 2017

Como fazer um jogo plataforma com Construct 2 – parte final

Como fazer um jogo plataforma com Construct 2 – parte final

print083
print083

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
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.
print056
print056
print057
print057
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.
print058
print058
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.
print059
print059

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.

print060
print060

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.
print061
print061
print062
print062
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:
print065
print065
E é bom adicionar a funcionalidade para coletar moedas também.
print066
print066

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”.
print063
print063
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.
print064
print064
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.
print067
print067
Agora temos que adicionar o comportamento de Bullet ao sprite de mesmo nome.
print068
print068
Em seguida vou inserir um sprite limpo, pintar ele de vermelho e posicionar próximo ao sprite Bullet, nomeei ele de TriggerBullet.
print069
print069
Agora é só implementar o script para que o TriggerBullet lance o Bullet de 10 em 10 segundos.
print070
print070
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).
print071
print071
Em seguida coloque um evento para quando o Bullet colidir com o DestroyBullet o Bullet que colidiu seja destruído.
print072
print072
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.
print073
print073

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.
print074
print074
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.
print075
print075
Em seguida vou inserir um sprite limpo, pintar ele de verde e posicionar próximo ao sprite Pipe, nomeei ele de TriggerPipe.
print076
print076
Depois precisa colocar um sprite limpo, pintar ele de amarelo e posicionar onde o Pipe deverá ser destruído.
print077
print077
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.
print078
print078

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.
print079
print079
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).
print080
print080
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.
print081
print081
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.
print082
print082

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