如何将pygame显示的文本居中?

2024-09-28 22:22:39 发布

您现在位置:Python中文网/ 问答频道 /正文

我有这个代码,它没有显示在屏幕宽度中间分配给变量“标题”的文本。 除了根据文本的长度猜测位置外,还有什么方法可以使其居中

import pygame
pygame.init()
pygame.font.init()

WIDTH = 1920
HEIGHT = 1080

CYAN = (0, 255, 255)
RED = (255, 0, 0)

window = pygame.display.set_mode((WIDTH, HEIGHT))

def startWindow(): 
    titleFont = pygame.font.SysFont("Comic Sans MS", 35)

    window.fill(RED)
    title = titleFont.render("Ball Game", False, CYAN)
    window.blit(title, (WIDTH//2, 35))
    pygame.display.update()


startWindow()

Tags: 代码文本屏幕titleinitdisplayredwindow
1条回答
网友
1楼 · 发布于 2024-09-28 22:22:39

渲染文本矩形后,应首先获取文本矩形,然后将矩形相对于屏幕宽度居中。之后,您可以将其传递到blit

centerTitle = title.get_rect(center=(WIDTH/2,35))
window.blit(title, centerTitle)

相关问题 更多 >