python - 如何使 pygame 显示的文本居中?

标签 python pygame

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

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()

最佳答案

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

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

关于python - 如何使 pygame 显示的文本居中?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/65402786/

相关文章:

不使用生成器的python递归列表组合

python - tkinter 滚动条折叠它所在的 Canvas

pygame - 为什么屏幕在 PyGame 中不刷新?

python - Pygame First 游戏问题

python - 如何防止可选参数多次出现

python - 从 xml 生成 django 模型

python - 无法在 Flask 中启用 Debug模式

python - 取消初始化模块后 pygame sys.exit() 错误

python - Pygame 碰撞不起作用

python - 如何在pygame中连续播放声音样本?