Mostrando postagens com marcador janela. Mostrar todas as postagens
Mostrando postagens com marcador janela. Mostrar todas as postagens

04 março 2013

Pygame… start!

Para quem se interessou pelo pygame eu vou tentar trazer alguma luz sobre o caso e como utilizar os
recursos à medida que eu mesmo consiga absorver o conteúdo.

A princípio é necessário instalar a biblioteca do pygame. Acesse esse link e escolha o que se encaixa com o seu S.O. e versão do python. Para começar vamos olhar o exemplo abaixo:



O import pygame importa o pacote com todos os módulos do pygame instalados e a chamada "pygame.init()" inicializa cada um desses módulos. Isso deve ser feito sempre, claro. Provavelmente você encontrará um pacote sendo inicializado junto, o sys.


A inicialização do módulo sys vai servir primeiramente para quando for executado o comando quit, mais a frente ficará mais claro.

Agora vamos para uma janela:


A primeira linha serve para ser colocado o tamanho da janela, height - altura, width - largura. O que aparece na última linha display.set_mode() é uma função que irá pegar os valores informados em size. Esses valores podem ser indicados diretamente na função como no exemplo abaixo:


Sendo exatamente com dois parênteses como mostrado e só com um quando se usa a variável size. Estou incerto de chamar size de variável ou de atributo, mas como o nome size não se encontra dentro de uma class vou considerar uma variável até segunda ordem.

Usando um pouco de dedução o speed serve para definir a velocidade de movimentação dentro das coordenadas x e y. Nesse caso ele, o objeto escolhido sofrerá uma mudança total de um movimento em diagonal pra em linha reta se simplesmente trocarmos um dos números - 2 para 0 por exemplo.

Na linha que encontramos black temos três valores que são o Red, Green, Blue. Essa variável será utilizada mais adiante.

Agora vemos uma parte interessante que lê uma imagem que deverá inicialmente estar dentro da mesma pasta onde será salvo o arquivo .py. Se salvar com outro nome basta trocar o ball.bmp por ele.


O image.load() é a função que carregará a imagem e o get_rect() é onde terá a coordenada do retângulo. Nesse caso imagino que o padrão está sendo determinado ao não ser informado nada.

Agora na parte final desse código temos um loop while. Nessa parte do while vamos encontrar a função quit que mencionei anteriormente. É ai, nesse primeiro if, que se a janela for fechada o programa será terminado. Acredito que isso se refira a limpar da memória tudo que foi carregado para gerar a janela. Vou confirmar isso posteriormente.


Após o ballrect podemos ver como foi feito para que a imagem ao tocar nas laterais venha a ter um movimento oposto ao inicial.

Mais abaixo encontramos o .fill que serve para determinar a cor de fundo da tela, é onde utilizamos o black determinado no inicio. As outras funções eu ainda não compreendi com clareza, por isso vou deixar pra depois.

Esse código é o mesmo que se encontra na wiki do pygame. Basta clicar nesse link para acessar a página, mas o código completo pode ser visto clicando no 'continue lendo', abaixo. Se não estiver vendo o continue lendo provavelmente você já vai estar vendo o código completo. Ao testar você verá uma bola ou imagem se movimentar dentro da janela sempre que o mouse se mover. Ainda estou atrás de descobrir o por que da dependência do mouse. O que ou qual função faz isso nesse código. Qualquer dúvida adicione uma resposta abaixo. Ou se souber algo sobre isso que mencionei agora ficarei grato em saber.