Pygame Tutorial – Parte 4

Avançando na criação do nosso jogo, agora vamos adicionar os movimentos da bola e tornar os jogadores interativos através do mouse e teclado, para isso vamos ver uma pouco sobre eventos.

Em Pygame uma fila com os eventos ocorridos é automaticamente mantida pelo sistema para facilitar sua manipulação. Cada novo evento gerado é adicionado ao final dessa fila, que deve ser percorrida em todos os frames fazendo uma iteração sobre o retorno da função pygame.event.get (). Abaixo um exemplo de como detectar se a tecla esc foi pressionada para terminar o jogo.

def play (self):
         while True:
             for event in pygame.event.get ():
                 if event.type == KEYDOWN and event.key == K_ESCAPE:
                     exit ()

Nesse trecho de código a fila é checada constantemente a procura de eventos, caso algum deles ocorra é verificado se ele corresponde a uma tecla apertada e se essa tecla é o esc, se sim termina o jogo.

Foram feitas várias mudanças no código, que você pode baixar aqui, dentre elas a mais importante é a extinção da classe Player. Em seu lugar entraram as classes Keyboard e Mouse. Elas controlam os jogadores através de eventos produzidos pelo teclado e mouse.

Em Game foram feitas alterações importantes em todos os métodos, principalmente em play que agora verifica os eventos produzidos para mover os jogadores.

Na classe Ball foi acrescentado o método move, que deve ser chamado a cada frame para movimentar a bola de acordo com a velocidade. O método update foi modificado para considerar os limites da tela no deslocamento do objeto.

O código, como sempre, possui alguns bugs, por exemplo se a bola atingir os jogadores lateralmente ela ficará oscilando entre as extremidades da barra. Isso pode ser facilmente resolvido delimitando uma área diferente de colisões entre a bola e os jogadores ou a bola e o campo.

No próximo tutorial colocaremos um placar no jogo para contar os pontos e indicar um vencedor. Para isso mostrarei como imprimir textos na tela, usando diversas fontes, e como criar eventos personalizados.

4 Respostas para “Pygame Tutorial – Parte 4”

  1. Wener Disse:

    Massa cara… tu podia me dizer um email pra contato?
    tenho q fazer um projeto e se pudesse pegar algumas dicas seria bom

  2. leandro Disse:

    tem como criar um jogo de futebol com pygame ?

  3. Philipe Disse:

    Sim.
    Dá uma olhada em http://www.pygame.org/tags/soccer

  4. jorgerosa Disse:

    Tudo muito bom e muito bem explicado. Obrigado pelo seu trabalho!

Deixe uma resposta