问题描述
我有这个代码,它没有在屏幕宽度的中间显示分配给变量“title”的文本。 除了根据文本的长度猜测位置之外,还有什么方法可以将其居中?
import pygame
pygame.init()
pygame.font.init()
WIDTH = 1920
HEIGHT = 1080
CYAN = (0,255,255)
RED = (255,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)