Uma simples janela (PyGame)

Pré-requisitos
Antes de fazer alguma coisa no PyGame, nós precisamos do Python(linguagem) e o PyGame(wrapper SDL pra Python) e aproveite quando for baixar o PyGame baixe também a documentação (pra num precisar ter que ir na internet toda vez que quiser saber como funciona determinada função).
Para escrever os scripts eu recomendo o Notepad++(Windows) ou o Gedit(Ubuntu), mas nada impede de você usar o editor que você mais gosta, se quiser pode usar até o EDIT do DOS ou PICO do UNIX.
Agora que temos todas as parafernálias, podemos começar com o nosso primeiro game, que por padrão de todo tutorial que envolve programação terá o nome de…
…OLÁ MUNDO!!!
Importando os módulos
Abra seu editor e comece com essas linhas:
import pygame, sys
from pygame.locals import *
PS.: Se retornar algum erro durante o import do PyGame, reinstale.
A primeira linha diz para o Python importar o módulo Pygame e o Sys, eles serão usados em nosso game.
Na segunda ele importa os Locals do PyGame que contém eventos de mouse, teclado, joystick, etc. para que você não precise ficar digitando pygame antes.
ex.: pygame.QUIT
Já importamos o Pygame e CIA, é hora de iniciá-lo com a função:
pygame.init()
Se você fizer isso na linha de comando do Python ele irá retornar (6, 0) = 6 módulos iniciados corretamente e 0 não iniciado. Agora você pode usar os módulos sem medo de ser feliz.
Criando uma janela para nosso game
tela = pygame.display.set_mode((140, 40))
Essa linha serve para criar um janela no tamanho 140×40 pixels (coloquei a função na variável tela pra simplificar a vida da gente mais tarde). Se quiser deixar a tela centralizada, é só importar o módulo OS e colocar essa linha em seu script:
os.environ['SDL_VIDEO_CENTERED'] = ‘1′
Aqui tem uma lista de todas as variaveis.
minha_fonte = pygame.font.SysFont(‘Arial’, 20, True)
Criei uma variavel com o nome minha_fonte que será usada pra mostrar “Ola mundo!!!” em negrito e no tamanho 20 na tela. Com isso a fonte será carregada e deixada prontinha pra gente usar.
Laços e eventos
O Main Loop(Laço principal) é onde vai ter tudo que precisar ser usado constantemente, então prepare o laço while pra gente colocar outro laço dentro (FOR). Se você não esctuar/pegar os eventos(pygame.event.get()) a janela trava, e é aí que entra o locals que importamos logo no inicio, o código vai ficar assim:
while 1:
for evento in pygame.event.get():
if evento.type == QUIT:
sys.exit()
PS.: existe mais eventos tais como: MOUSEBUTTONDOWN, MOUSEBUTTONUP, KEYUP, KEYDOWN, etc. (Ver mais eventos na documentação).
Olá Mundo!!!
É hora de preencher a superfície com alguma cor pra deixar mais bunitim.
tela.fill((255, 255, 255))
O PyGame usa o sistema RGB e o sistema HEXADECIMAL para as cores, mais vamos usar RGB(vermelho, verde e azul), que terá todos os valores das cores no máximo(255) formando o branco(255, 255, 255). Você pode alterar os valores para obter as mais diferentes cores dos arco-íris (uuuuui!!!). Caso você goste pode usar essa cor (255, 0, 255).
PS.: Se for pintar a tela pinte antes de colocar o texto ou qualquer outra coisa.
Sim! A parte mais esperada, vamos BLITAR/MOSTRAR o texto na tela “Ola Mundo!!!”, para isso se usa:
tela.blit(minha_fonte.render (‘Ola Mundo!!!’, True, (0, 0, 0)), (10, 10))
Decifrando o cabaré, ele vai mostrar “Ola Mundo!!!” na tela usando Antialias(True), na cor Preta(0, 0, 0) e na posição x = 10 e y = 10.
E pra terminar a briga de foice basta chamar o pygame.display.flip(), que vai atualizar a tela toda para que você possa ver o tão esperado Ola Mundo!!!
Finalizando
É pessuá acabôsse o muído, mais fique triste não, eu ainda vou trazer mais coisa sobre o PyGame envolvendo: imagens, som, sprites, colisão, fazendo uma bola pular e muito mais.
AHuAhauhuA
Olha como ficou a janela do Olá Mundo!!!

E esse é o script:
import pygame, sys, os from pygame.locals import * os.environ['SDL_VIDEO_CENTERED'] = '1' pygame.init() tela = pygame.display.set_mode((140, 40)) minha_fonte = pygame.font.SysFont('Arial', 20, True) while 1: for evento in pygame.event.get(): if evento.type == QUIT: sys.exit() tela.fill((255, 255, 255)) tela.blit(minha_fonte.render('Ola Mundo!!!', True, (0, 0, 0)), (10, 10)) pygame.display.flip()