Pesquisar no Python Iniciantes

quarta-feira, 1 de agosto de 2012

Jogos #1 (Pygame)

Boa noite galera!

Hoje vou ensinar a criar jogos usando python, para isso temos uma biblioteca muito usada atualmente para desenvolvimento de jogos (principalmente web) que é a pygame, entrem no site oficial para mais informações.

Primeiro jogo.
Nosso primeiro jogo consistirá em uma tela "campo de futebol" com uma "bola de futebol", o jogo não fará nada de mais  apenas usaremos o mouse para movimentar a "bola de futebol" em cima do "campo de futebol", antes de continuar temos que baixar e instalar o pygame para podermos usar seus módulos é bem prático basta entrar neste link baixar a versão para seu sistema operacional, como atualmente estou utilizando windows baixei a versão para python 2.7 e instalei clicando duas vezes e seguindo normalmente até a finalização sem nenhuma dor de cabeça, para quem usa outros S.O no próprio site do pygame temos tutoriais de como instalar. Baixem também as imagens que utilizaremos em nosso jogo campo e bola e as coloquem na pasta onde o arquivo .py onde o código do jogo está.

Vamos ao código após a explicação:

# -*- coding: latin-1 -*- bola = 'bola.gif' campo = 'campo.jpg' import pygame, sys from pygame.locals import * pygame.init() screen=pygame.display.set_mode((620,390),0,0) background=pygame.image.load(campo).convert() mouse_c=pygame.image.load(bola).convert_alpha() while True: for event in pygame.event.get(): if event.type == QUIT: pygame.quit() sys.exit() screen.blit(background, (0,0)) x,y = pygame.mouse.get_pos() x -= mouse_c.get_width()/2 y -= mouse_c.get_height()/2 screen.blit(mouse_c, (x,y)) pygame.display.update()
Como vemos nos dois primeiro códigos pegamos as imagens bola.gif e campo.jpg e guardamos nas variáveis bola e campo respectivamente, logo depois importamos a bibliotecas pygame e sys e também importamos "tudo" contido no módulo pygame.locals, seguindo iniciamos pygame com o método .init e criamos uma tela(screen) com o tamanho 620x390, em background carregamos a imagem campo e a convertemos para utilizarmos como fundo da tela e fazemos o mesmo processo com a imagem bola mas usando um método que converte a imagem em alpha, assim a imagem da bola aparecerá limpa sem o fundo branco. após criamos um loop(enquanto) True(verdadeiro) e um laço for(para) dentro deste loop que verifica os eventos, se o evento for igual a quit encerra a aplicação e fecha a tela. na linha screen.blit posicionamos o background no centro da tela. logo abaixo pegamos a posição do mouse e guardamos nas variáveis x e y, nas duas linhas seguintes posicionamos a bola no centro do mouse e em screen.blit colocamos a imagem da bola na respectiva posição em relação a posição do mouse, por último atualizamos a tela e repetimos todo os procedimentos do while até que seja encerrado o programa no if event.type == QUIT.

Galera é isso, até a próxima.

4 comentários:

  1. Olá amigo!! O seu código acusa esse tipo de erro:

    Traceback (most recent call last):
    File "D:/Python/jogo.py", line 13, in
    mouse_c=pygame.image.load(bola).convert_alpha()
    pygame.error: Couldn't open bola.gif

    ResponderExcluir
  2. Olá amigo!! O seu código acusa esse tipo de erro:

    Traceback (most recent call last):
    File "D:/Python/jogo.py", line 13, in
    mouse_c=pygame.image.load(bola).convert_alpha()
    pygame.error: Couldn't open bola.gif

    ResponderExcluir
    Respostas
    1. A extensão da imagem da bola é png e não gif, é só alterar no código.

      Excluir
  3. Este comentário foi removido pelo autor.

    ResponderExcluir