微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

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

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

我有这个代码,它没有在屏幕宽度的中间显示分配给变量“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)

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。