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.

5 Agosto, 2008 às 3:05 pm |
Massa cara… tu podia me dizer um email pra contato?
tenho q fazer um projeto e se pudesse pegar algumas dicas seria bom
14 Setembro, 2008 às 9:56 pm |
tem como criar um jogo de futebol com pygame ?
15 Setembro, 2008 às 7:58 pm |
Sim.
Dá uma olhada em http://www.pygame.org/tags/soccer
8 Junho, 2009 às 10:14 pm |
Tudo muito bom e muito bem explicado. Obrigado pelo seu trabalho!