Este tutorial foi feito com juh durante nosso grupo de estudos python. Pygame serve como interface da biblioteca SDL.

Desenhando um rectângulo com “pygame.Surface”

Passo 1

Abra um editor de texto e digite:

[code lang=”python”]
import pygame
import os, sys
from pygame.constants import *
[/code]

Isso importará as bibliotecas pygame, os, e sys para utilizar no nosso programa.

Passo 2

Agora vamos criar a nossa tela onde o jogo vai acontecer. Para isso a gente vai criar uma variável que chamamos de “tela” e vamos dar para ela um tamanho de 300 x 200:

[code lang=”python”]
tela = pygame.display.set_mode((300, 200))
[/code]

E também vamos dar uma cor de fundo em RGB com o parâmetro “fill”. Nós escolhemos para a cor de fundo a cor branco.

[code lang=”python”]
tela.fill((255, 255, 255))
[/code]

Passo 3

Vamos criar um rectângulo e colorir ele de vermelho. Para isso a gente chama nosso rectângulo de “rect1” e criamos ele com as medidas de 50 de largura e 100 de altura. O modelo para esta linha de código seria:

nome = pygame.Surface((largura, altura))

no nosso caso seria assim:

[code lang=”python”]
rect1 = pygame.Surface((50, 100))
[/code]

E para colorir ele de vermelho a gente usa este modelo de código:

nome.fill((vermelho, verde, azul))

Que no nosso programa seria:

[code lang=”python”]
rect1.fill((255, 0, 0))
[/code]

Passo 4

A gente já desenho um rectângulo mas falta ainda um passo para ele aparecer na tela. a gente precisa juntar nosso rectângulo “rect1” no fundo “tela” com o parâmetro “blit”:

fundo.blit(objeto, (posição x, posição y))

que no nosso caso seria assim:

[code lang=”python”]
tela.blit(rect1, (125, 50))
[/code]

Passo 5

E finalmente colocamos esta linha para que apareça tudo. pygame.display.update()

O código final deve parecer algo assim:

[code lang=”python”]
import pygame
import os, sys
from pygame.constants import *

tela = pygame.display.set_mode((300, 200))
tela.fill((255, 255, 255))

rect1 = pygame.Surface((50, 100))
rect1.fill((255, 0, 0))

tela.blit(rect1, (125, 50))

pygame.display.update()
[/code]

E o resultado é:

pygame rect

pygame rect