Solución:
Siempre puede centrar el rectángulo de texto cuando lo agarre:
# draw text
font = pygame.font.Font(None, 25)
text = font.render("You win!", True, BLACK)
text_rect = text.get_rect(center=(SCREEN_WIDTH/2, SCREEN_HEIGHT/2))
screen.blit(text, text_rect)
solo otra opcion
Puede obtener las dimensiones de la imagen de texto renderizada usando text.get_rect()
, que devuelve un objeto Rect con width
y height
atributos, entre otros (consulte la documentación vinculada para obtener una lista completa). Es decir, simplemente puedes hacer text.get_rect().width
.
Para simplificar el uso del texto, utilizo esta función (para centrarla la x no es útil)
import pygame
pygame.init()
WIDTH = HEIGHT = 500
screen = pygame.display.set_mode((WIDTH, HEIGHT))
font = pygame.font.SysFont("Arial", 14)
def write(text, x, y, color="Coral",):
text = font.render(text, 1, pygame.Color(color))
text_rect = text.get_rect(center=(WIDTH//2, y))
return text, text_rect
text, text_rect = write("Hello", 10, 10) # this will be centered anyhow, but at 10 height
loop = 1
while loop:
for event in pygame.event.get():
if event.type == pygame.QUIT:
loop = 0
screen.blit(text, text_rect)
pygame.display.update()
pygame.quit()
¡Haz clic para puntuar esta entrada!
(Votos: 0 Promedio: 0)