• Jogos
  • 03. Desenhando na tela

Desenhando na Tela

Polígonos

Vamos começar desenhando polígonos. Considere o código abaixo:

cor = (255, 0, 0)
vertices = [(250, 0), (500, 200), (250, 400), (0, 200)]
pygame.draw.polygon(window, cor, vertices)

Exercício 1

Qual é a cor representada pela tupla armazenada na variável cor?

Resposta

A tupla representa as componentes RGB da cor, sendo que cada componente varia entre 0 e 255. Apesar de você não precisar saber construir as cores usando RGB, este exemplo é mais simples, pois apenas um dos componentes está em uso: o vermelho. Assim, a cor (255, 0, 0) é o vermelho.

Exercício 2

Abra a documentação da função pygame.draw.polygon(window, cor, vertices). Lembrando que window é o nome da variável, mas ela guarda um objeto do tipo Surface, como vimos anteriormente. Escreva abaixo, em uma frase, o que essa função faz.

Resposta

Desenha um polígono na janela window (primeiro argumento), preenchido com a cor (segundo argumento) e com vértices listados como tuplas em vertices (terceiro argumento) com os valores \((x_i, y_i)\).

Desenhando a bandeira da França#

Vamos iniciar com o exercício Bandeira da França. Acesse o exercício, leia o enunciado, abra o código no VS Code e volte para este handout. Vamos resolvê-lo passo a passo.

Começaremos analisando o problema por partes. O exercício nos pede para desenhar a bandeira da França em uma janela de largura \(300\times 200\):

Bandeira da França

Exercício 3

Supondo que a largura dos retângulos é igual, qual será a largura de cada retângulo a ser desenhado?

Resposta

São três retângulos na horizontal, todos de tamanho igual. Logo, cada um tem largura 100 pixels.

Exercício 4

Qual seria o valor de cor para o retângulo da direita na bandeira?

Resposta

O valor deverá ser valor baixo nas componentes azul e verde e alto na componente vermelho. Logo, (255, 0, 0) é a escolha correta e representa o vermelho mais intenso possível.

Exercício 5

Qual seria o valor de vertices para o retângulo da direita na bandeira?

Resposta

O retângulo azul inicia no segundo terço da coordenada \(x\). A ordem dos vértices é importante também, logo o último vértice obrigatoriamente é o imediatamente abaixo.

Com essas informações em mente, podemos resolver o exercício!

Exercício 6

Modifique a função desenha para desenhar a bandeira corretamente. Este exercício tem somente um teste. Rode o jogo no VS Code para ver a bandeira desenhada na tela. No pygame será muito importante você executar o programa para testá-lo, mais do que apenas confiar nos resultados dos testes.

Já podemos desenhar muitas coisas apenas com polígonos, mas vamos agora aprender a desenhar imagens diretamente na janela do pygame.