• Jogos
  • 03. Desenhando na tela

Desenhando na Tela

Desenhando Texto

Talvez você tenha estranhado o título desta seção, mas qualquer texto deve realmente ser desenhado para aparecer na tela. Os caracteres de um texto também são desenhados como pixels. Veja o exemplo abaixo:

1
2
3
fonte_padrao = pygame.font.get_default_font()
fonte = pygame.font.Font(fonte_padrao, 48)
imagem_texto = fonte.render('HELLO WORLD', True, (0, 0, 255))

Exercício 1

Abra a documentação da função pygame.font.get_default_font(). Escreva abaixo, em uma frase, o que essa chamada da função faz.

Resposta

Todo sistema operacional inclui uma fonte padrão que é usada em seus elementos de interface gráfica. Toda fonte é armazenada em um arquivo. Carregamos o nome do arquivo da fonte padrão usando pygame.font.get_default_font().

Exercício 2

Abra a documentação da classe pygame.font.Font(fonte_padrao, 48). Escreva abaixo, em uma frase, o que essa chamada específica faz.

Resposta

Carrega a fonte padrão com o tamanho 48. O primeiro argumento é o caminho do arquivo da fonte e o segundo é o tamanho.

Exercício 3

Abra a documentação da classe fonte.render('HELLO WORLD', True, (0, 0, 255)). Escreva abaixo, em uma frase, o que essa chamada específica faz.

Resposta

Cria uma imagem do texto 'HELLO WORLD', com anti-aliasing e a cor azul. A função retorna um pygame.Surface, o mesmo tipo devolvido pela função pygame.image.load.

Exercício 4

A variável fonte contém a fonte carregada pelo pygame, portanto faz parte da etapa de carregamento de recursos do jogo. Isto deverá ser feito em qual função da nossa estrutura do jogo?

Resposta

O carregamento de todos os recursos do jogo sempre é feito na função inicializa.

Exercício 5

A variável imagem_texto contém uma imagem do texto a ser desenhado na tela. Supondo que nossa janela está armazenada na variável window, qual chamada você usaria para desenhar imagem_texto na tela na posição x=50, y=30?

Resposta

Sempre desenhamos imagens usando a função blit de nossa janela. Ela recebe como primeiro argumento a imagem a ser desenhada e como segundo argumento uma tupla contendo as coordenadas (x, y) em que a imagem deve ser desenhada.

Exercício 6

Neste exercício exploraremos o uso de fontes de diferentes tamanhos. Vamos carregar nossas fontes e armazenar no dicionário assets com as chaves 'fonte_16' e 'fonte_24'.

Na função desenha você deve utilizar as fontes carregadas no dicionário assets para desenhar os textos solicitados.

Acessar exercício

Agora já sabemos (quase) tudo que precisamos para desenhar cenas complexas na tela. Nosso próximo passo será receber eventos de mouse e teclado para adicionar interatividade nos nossos programas

CHECK 3

Agora você já pode fazer o check 3. Depois de concluir, faça um commit (não se esqueça de sincronizar/dar push) com a mensagem "Check 3".

Não se esqueça de mostrar para algum professor para ganhar o check!