Ao alto e avante o/

GM: Criando seu próprio Pac Man

5 comentários
Aqui nosso post sobre como criar seu próprio Pac Man no Game Maker. O post foi feito com base no tópico criado pelo grande Drizz, administrador do fórum Master Maker. As imagens foram retiradas do tópico e todos os créditos devem ser dados a ele.

Por questões práticas, os nomes do tutorial original foram mantidos, para não entrar em conflito com as imagens, que também vieram do tópico original


Sprites utilizados:

















É importante que você tenha todos estes sprites salvos.




Um jogo de Pac Man pode ser considerado simples e fácil de se fazer. Usa poucos comandos, e é ótimo para o aprendizado de iniciantes.


Começando: importe todos os sprites fornecidos para o projeto. Os pacmans, dê nome a eles conforme as posições fornecidas nos sprites (ex: o pac man virado para a esquerda deverá ser nomeado pacman_esq e assim por diante). A bola amarela chame de spr_bola e o fantasma de spr_phantom. Não centralize nenhum.


Vamos então pros comandos?


Crie um objeto chamado obj_controle. Nele, coloque um evento Create. Coloque um comando Score, que está na aba score, e digite 0.


O objeto deve ficar assim.


Agora crie outro objeto, com o nome de obj_wall, coloque o sprite da parede e marque a opção Solid, como mostra a imagem a seguir:





Depois disso, clique OK.


Crie mais um objeto. O nome dele deve ser obj_pack. Coloque então 4 eventos: Keyboard Left, Keyboard right, Keyboard Up e Keyboard Down. Esses eventos vão ser chamados quando o jogador apertar a tecla programada (Keyboard Down é ativado quando você aperta a seta para baixo, e assim por diante...). Coloque então o sprite no objeto, do pack para a esquerda.


Hora de programar os eventos



Vá lá no Keyboard Left, arraste essa opção:. Ela irá fazer que quando o jogador aperta para a esquerda, o pac man ande para a esquerda. Quando abrir a janela de programação, ela deve ficar assim:




A opção Speed é a velocidade na qual o objeto irá andar para a esquerda. 
Depois disso devemos mostrar pro Game Maker qual o sprite que o pacman vai estar usando quando ele estiver indo pra esquerda. A ação é feita por um simples comando chamado Change Sprite, e ele simplesmente muda o sprite do objeto.

Vamos então até a aba Main 1. Arraste o comando que tem como ícone um pacman vermelho, com o nome Change Sprite. O comando deve ser configurado dessa forma:





Após esse processo, você deve repetir os comandos em cada evento do teclado, mas cada um com seus respectivos lados e sprites.

PS: No objeto do Pacman, coloque o sprite do pacman virado para a esquerda



Vamos agora para o objeto da bolinha que o pacman pega. 
Crie um objeto, agora com o nome de obj_comida. Adicione então um evento Colision com o pacman.
Na aba da colisão, coloque um comando de mudar a pontuação e configure assim*:
*lembrando que o comando de mudar a pontuação está na aba score





Depois desse comando, vá até a aba Main 1, arraste esta opção e clique em OK.
Essa opção que você colocou, diz que a comida será destruída depois de fazer contato com o pacman. Calma, calma, ele não é pacbomba, ele apenas engole a bolinha amarela para manter sua energia vital (:
O rango já está pronto, então vamos criar apenas mais um objeto: o grande inimigo fantasma! Agora no objeto do fantasma, pode ser um pouco mais complicado, mas nada que não se dê jeito. Antes de configurar o fantasma, você deve criar um script. Vá até a pasta Scripts ao lado, clique com o botão da direita e coloque Create Script, cole o seguinte script na janela que vai ser aberta:


CÓDIGO:
// This script adapts the direction of the monster
// when it comes at a possible crossing
{
  if (hspeed == 0)
  {
    if (random(3)<1 && place_free(x-4,y))
      { hspeed = -4; vspeed = 0;}
    if (random(3)<1 && place_free(x+4,y))
      { hspeed =  4; vspeed = 0;}
  }
  else
  {
    if (random(3)<1 && place_free(x,y-4))
      { hspeed = 0; vspeed = -4;}
    if (random(3)<1 && place_free(x,y+4))
      { hspeed = 0; vspeed =  4;}
  }
}


Este script vai fazer com que o monstro se adapte à fase.

Cada script deve ser identificado com um nome, dê um nome a ele como na imagem:



*Caso você não tenha percebido, o nome fica adapt_direction



Agora crie um novo evento no fantasma e coloque Step, e novamente Step (não é pneu reserva, ok?). Agora arraste a opção com o seguinte ícone:


 
Esta opção está na aba Control e deve ser configurada como na imagem a seguir:




Depois, na mesma aba control arraste a seguinte opção  e a configure assim:

.

Agora, crie um evento de colisão com o pacman e outro com a parede.

Vá até a colisão com o packman e arraste a opção  que está na aba Main 2.
Coleque neste comando uma mensagem informando que o jogador morreu, exemplo: Você morreu, seu lerdo!

Abaixo do show message, coloque está opção  que também está na aba Main 2 e de OK.

Agora, vá colisão com a parede e coloque estes dois comandos:

 

Este comando acima fará com que quando ele bata na parede ele retorne.

Agora todos os nossos objetos estão prontos! Eba! Estamos no fim!

Agora crie uma room. Nomei-a do jeito que você quiser. 



Ali onde está marcado na imagem, coloque 32 que na de vocês deve estar 16. Isto mudará o tamanho do quadrante para o tamanho de nosso sprites.

Agora basta fazer a room e pronto, o jogo estará pronto. 

IMPORTANTE: Não esqueça, pelo amor de Deus, de colocar o objeto controle na room.



Créditos: Drizz, pela aula e pelas imagens.
Esta aula foi apenas um pouco adaptada, digamos assim. Na verdade ela foi modificada em alguns pontos do texto. A aula original você pode ver neste link.

5 comentários :

  1. Tem Como vc fazer uma video-aula e mandar o link?

    ResponderExcluir
  2. ta faltando 1 :s imagem poxa ta me confundindo ><

    ResponderExcluir
    Respostas
    1. Vanessa, sobre a imagem que está faltando, infelizmente não consigo achar ela pra reupar. Então o mais certo seria falar com o Drizz, que escreveu o tópico original, aqui: http://mastermaker.forumeiros.com/t354-aula-2reproduzindo-um-classico

      Excluir
  3. super lergal mass... nao tem a kela parte onde a gente pega um item e os fantasmas ficam roxos ai da pra a gente comer eles claro que eles renacem no local de inicio

    ResponderExcluir
    Respostas
    1. vou postar um vídeo no youtube de como fezer o jogo completo.

      Excluir

Deixe seu comentário (;