Francileudo Oliveira
Francileudo Oliveira21/11/2022 14:34
Compartilhe

pygame: Escrevendo textos na tela do jogo no pygame

  • #Python

Olá, seja muito bem vindo(a), no artigo anterior descobrimos como mover objetos e como trabalhar colisões entre objetos no pygame: https://programacao-descomplicada.blogspot.com/2022/11/pygame-movendo-objetos-com-teclado-e.html. Hoje nós vamos colocar nosso contador de pontos no jogo.

Primeiro, vamos criar uma variável chamada fonte que irá receber a função pygame.font.SysFont(). Nessa função vamos passar o nome da nossa fonte, o tamanho da fonte, depois devemos colocar True se quisermos o texto em negrito e False caso não e o quarto parâmetro seria o mesmo do terceiro, porém para o itálico. 

fonte = pygame.font.SysFont("Monospace", 15, True, True)

Agora, dentro do laço while, vamos criar uma variável chamada mensagem onde passaremos uma template string da seguinte forma:

mensagem = f “Pontuação: {}” 

Dentro dos colchetes vamos passar uma variável chamada pontos que será criada fora do laço while. Essa variável começará com zero já que não temos ponto nenhum no início do jogo.

Agora queremos que sempre que a nossa cobrinha coma um quadrado da tela essa variável pontos receba mais 1, para isso vamos até a condicional de colisão construída no artigo anterior, e adicionamos:

pontos = pontos + 1

Agora vamos juntar nossa mensagem com as configurações de fonte que passamos na variável fonte, vamos criar uma variável dentro do laço while chamada formatacao_fonte que vai receber uma função fonte.render(mensagem). O segundo parâmetro passado nesta função é o antialiasing.

Ele controla o serrilhamento do nosso texto, se colocarmos False teremos um texto no estilo pixel, se colocarmos True teremos um texto não pixelado. No meu caso, vou deixar pixelado da seguinte forma:

formatacao_texto = fonte.render(mensagem, False, (255, 255, 255))

O parâmetro quatro é a cor do texto em RGB, nesse caso deixei branca. Agora, para mostrar o texto na tela usamos a função tela.blint() dentro do laço while e passamos a mensagem formatada e a posição do nosso texto:

 tela.blit(formatacao_texto, (450, 40))

Vou ficando por aqui, espero que você tenha gostado e deixo como atividade uma pesquisa, quais fontes poderíamos colocar no texto do pygame? Existe alguma função da biblioteca que mostra o nome de todas as fontes que podemos utilizar? Fica a dica para sua pesquisa. Um abraço e até a próxima.

Artigo Original: https://programacao-descomplicada.blogspot.com/2022/11/pygame-escrevendo-textos-na-tela-do.html

Compartilhe
Comentários (0)