CRIANDO JOGOS COM PYTHON E PYGAMEDiego Lopes Marques da Silvadiego.lopes@dce.ufpb.brhttp://sites.google.com/site/lmsdiego/Max Azevêdo da SilvaMax.azevedo@dce.ufpb.br
Onde Baixar?Python:http://www.python.org/Pygame:http://www.pygame.org/news.html2
VersõesOptamos por usar as versõesPython 2.6Pygame 1.93
Porque Python e Pygame?Fracamente tipadaFácil identaçãoAbstração dos "códigos pesados“4
Introdução a biblioteca Pygame.Pygame é uma biblioteca de jogos multiplataforma (independente de sistema operacional) feita para ser utilizada em conjunto com a linguagem de programação Python. 5
Jogos feitos com PygameLegacy Of Magic6
Jogos feitos com PygameFrets on fire7
Jogos feitos com PygamePyQuimica8
Elementos do PygameTela – Elemento principal de um jogo. É nela onde tudo começa. É considerada a superfície principal9
Elementos do PygameEventos
Imagem10
Elementos do PygameTexto
Surface11
Elementos do PygameSpriteSprites são imagens com animação geralmente usados como personagens, inimigos ou objetos móveis12
Elementos do PygameClockO clock é um elemento muito importante de qualquer jogo, pois é este módulo que irá indicar a frequência com que as instruções do loop são executadas, ou seja, a quantidade de quadros por segundo do loop.13
Elementos do PygameSons14
CRIANDO UMA TELAimportpygameEsta linha serve para importar o módulo Pygamefrompygame.localsimport * importa os Locals do PyGame que contém eventos de mouse, teclado, joystick, etc. pygame.init() Não se pode chamar nenhuma função do pygame sem antes fazer pygame.init(). Se deu certo, ele retorna (6,0)15
CRIANDO UMA TELAtela=pygame.display.set_mode((larg,Altura))Cria uma janela no tamanho passado por parâmetro.continuar = True variável de controle que irá servir para o loop infinito.clock = pygame.time.clock()	Atribuição da função para a variável clock16
CRIANDO UMA TELAwhile(continuar):clock.tick(60)	for event in pygame.event.get():		if event.type==QUIT:continuar=FalseO Laço principal é onde vai ter tudo que precisar ser usado constantemente Se você não pegar os eventos(pygame.event.get()) a janela travaClock.tick (60) – Indica que o jogo irá chamar 60 quadros por segundo17
CRIANDO UMA TELAtela.fill((corR,corG,corB)) Define o cor de fundodatela, no formato RGB ou HEXADECIMAL.http://www.efeitosespeciais.net/tabela.htmtela.blit(superficie,(int,int))Pintaumasuperfícienatela.pygame.display.flip() Atualiza a tela.18
import pygamefrom pygame.locals import*pygame.init()tela =pygame.display.set_mode((larg,altura)) Clock = pygame.time.Clock()continuar = Truewhile(continuar):clock.tick(60)	for event in pygame.event.get(): 		   if event.type==QUIT:continuar=Falsetela.fill((corR,corG,corB))	tela.blit(superficie(int,int)) pygame.display.flip()19
A FUNÇÃO DRAW()O módulo draw, serve para desenhar figuras básicas em superfícies como, círculo, retângulo, etc.
LINHApygame.draw.line(superfície, (corR,corG,corB), (posXinicio,posYinicio),(posXfinal,posYfinal),  largura)20
ADICIONANDO IMAGENSO PyGame tem recursos para ler e salvar imagens. Por padrão o formato Bitmap(BMP) é suportado, suportados, pórém, também podemos carregar arquivos PNG( mais comum para jogos), GIF, JPEG
icone = pygame.image.load("icone.png") .convert_alpha()Convert_alpha() – bytes para pixelstela.blit(icone, (int,int))21
ADICIONANDO TEXTOSPygame também disponibiliza módulo para trabalhar com fontes.
Fora do loop
texto = pygame.font.SysFont(fonte, 20)
Ou
texto = pygame.font.Font(fonte, 30)
Dentro do loop
palavra = texto.render(String, True, (cor))
tela.blit(palavra,(int,int))22

Idez