python - 如何在 Pygame 中将文本居中

标签 python python-3.x pygame

我有一些代码:

# draw text
font = pygame.font.Font(None, 25)
text = font.render("You win!", True, BLACK)
screen.blit(text, [SCREEN_WIDTH / 2, SCREEN_HEIGHT / 2])

如何获取文本的宽度和高度,以便我可以像这样将文本居中:

screen.blit(text, [SCREEN_WIDTH / 2 - text_w / 2, SCREEN_HEIGHT / 2 - text_h / 2])

如果这不可能,还有什么办法? 我找到了 this示例,但我并没有真正理解它。

最佳答案

你总是可以在抓取文本矩形时将其居中:

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

只是另一种选择

关于python - 如何在 Pygame 中将文本居中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23982907/

相关文章:

python - 跨过 yield 语句

python-3.x - Python 3 文件共享变量

python - Pygame 矩形从左到右移动

Python:如何对数组 X 进行排序,但将相同的相对排序传递给 Y?

python - CPP和Python CSV Precision

python - 格式化序列中的整数(列表、元组、集合)

python - Pygame:如何改变背景颜色

python - 如何使用 python 和 pygame 删除 rects/sprites

python - 删除 pandas 中的双空格并替换为单空格

python - 如何打印每本词典的名称?