Pygame Tutorial – Parte 4

2 Agosto, 2008

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 ()

Leia o resto deste post »


Pygame Tutorial – Parte 3

4 Junho, 2008

No tutorial anterior eu disse que da próxima vez falaria sobre eventos e as funções de desenho. Entretanto, o exemplo de jogo que eu sugeri, que foi o Pong, exige que eu explique alguns conceitos de manipulação de tempo e se eu falasse sobre tudo isso num mesmo tutorial seria muita coisa.

Vamos então começar pelo módulo draw, que permite desenhar formas básicas em uma superfície. Caso você precise usar somente um retângulo ou circunferência não será necessário criar um bitmap com essa imagem o que dá uma certa facilidade durante a programação e diminui o tamanho final do seu jogo.

Todas as funções recebem como primeiro e segundo argumento respectivamente: a superfície a ser desenhada e a cor do desenho. O último argumento geralmente representa a espessura da linha, caso esse valor seja zero, a figura será desenhada cheia. Essas funções retornam um retângulo que indica qual parte da superfície foi alterada, assim é possível atualizar somente a área modificada.

A documentação completa desse módulo pode ser encontrada aqui. Apesar do conteúdo estar em inglês ele é bem intuitivo e acredito que ninguém terá muitos problemas.

Com criatividade e disposição dá pra fazer qualquer coisa somente com essas primitivas. Eu que não tenho nenhum dos dois consegui fazer algo.

Leia o resto deste post »


Pygame Tutorial – Parte 2

4 Maio, 2008

Na segunda parte do tutorial sobre Pygame veremos como adicionar e mover objetos na tela. Usaremos principalmente as classes Surface e Rect.
Uma breve descrição das classes.
Surface: Os objetos da classe Surface são usados para manusear imagens. Podem ser criados diretamente através de pygame.surface.Surface ou indiretamente, a partir de uma imagem guardada em disco com pygame.image.load ou na criação da janela do jogo com pygame.display.set_mode.
As imagens carregadas com pygame.image.load podem ser de qualquer tipo, dentre os mais comuns, bmp, jpg, gif, png e alguns outros. As transparências são automaticamente criadas para imagens que as permitem. É recomendado o uso dos métodos convert e convert_alpha que convertem a quantidade de bytes por pixels da imagem para a mesma da tela, o que facilita a impressão.
O método mais importante dessa classe e o blit. Com ele você pode imprimir uma imagem em outra, o que é feito com freqüência na Surface da tela.
Rect: A classe Rect e simplesmente a abstração de um retângulo. Nela há dados como x e y, que são as posições inicias do retângulo, e w e h, que são a largura e altura do seu retângulo. Há também métodos para checagem de colisão, movimentação e união.

Abaixo eu mostro o resultado do programa de exemplo, que é simplesmente uma bola se movendo na tela.

Leia o resto deste post »


Pygame Tutorial – Parte 1

21 Abril, 2008

Aqui começa a primeira parte do tutorial sobre Python e Pygame. Já falei brevemente sobre esse conjunto num post anterior, então vamos direto ao assunto.

Python pode ser baixado aqui, a última versão no momento é a 2.5.2. Já Pygame pode ser baixado aqui, tive problemas de desempenho com a última versão (provavelmente envolvendo a placa de vídeo), o que diminuiu muito a taxa de frames por segundos, então estou usando a versão 1.7.1, o que não prejudicará a portabilidade do código.

Pra quem já programou em outras linguagens, Python pode ser facilmente aprendida através do manual que vem na instalação (em inglês). Quem nunca programou também pode se dar bem com a própria documentação da linguagem, ou algum dos tutoriais do Python Brasil.

A primeira parte do tutorial e muito simples e aborda somente a inicialização do pygame e estrutura básica de um jogo. No próximo tutorial explicarei mais sobre janelas e mostrarei as primeiras imagens.

O código pode ser baixado aqui, devido a restrições de upload do wordpress, não é possível hospedar arquivos .py ou .zip e afins, logo basta remover a extensão .doc e usar normalmente.