📜  在 pygame 中显示文本 - Python (1)

📅  最后修改于: 2023-12-03 15:37:26.426000             🧑  作者: Mango

在 pygame 中显示文本 - Python

在 Pygame 中,我们可以使用 pygame.font 模块来显示文本。这个模块提供了一个 Font 类来创建 Pygame 的字体对象,以便我们可以将文本渲染到屏幕上。

步骤
步骤1:初始化 Pygame

在使用 Pygame 之前,我们需要先初始化它。这可以通过如下代码完成:

import pygame

pygame.init()
步骤2:创建一个窗口

在 Pygame 中创建窗口的方法有很多,下面是其中一种常用的方法:

pygame.display.set_mode((窗口宽度, 窗口高度))

比如,要创建一个宽度为 640 像素、高度为 480 像素的窗口,可以这样写:

WINDOW_WIDTH = 640
WINDOW_HEIGHT = 480

window = pygame.display.set_mode((WINDOW_WIDTH, WINDOW_HEIGHT))
步骤3:创建字体对象

在创建窗口之后,我们可以创建一个字体对象,代码如下:

font = pygame.font.SysFont(字体名称, 字体大小)

这里,pygame.font.SysFont() 方法用于创建 Pygame 的系统字体对象。可以指定字体名称和字体大小来创建字体对象,例如:

font = pygame.font.SysFont('arial', 36)
步骤4:渲染文本

有了字体对象后,我们就可以使用 render() 方法将文本渲染到屏幕上了。render() 方法的语法如下:

render(text, 抗锯齿, 颜色)

例如:

text_surface = font.render('Hello, world!', True, (255, 255, 255))
步骤5:显示文本

最后,我们可以使用 Pygame 提供的 blit() 方法在窗口上绘制上述文本,代码如下:

window.blit(text_surface, (x, y))

其中,(x, y) 表示文本在窗口上的位置。

完整示例

下面是一个完整的示例,演示如何在 Pygame 中显示文本:

import pygame

pygame.init()

WINDOW_WIDTH = 640
WINDOW_HEIGHT = 480

window = pygame.display.set_mode((WINDOW_WIDTH, WINDOW_HEIGHT))

font = pygame.font.SysFont('arial', 36)
text_surface = font.render('Hello, world!', True, (255, 255, 255))

x = 100
y = 100

while True:
    for event in pygame.event.get():
        if event.type == pygame.QUIT:
            pygame.quit()
            quit()
    
    window.fill((0, 0, 0))
    window.blit(text_surface, (x, y))
    pygame.display.update()

在上述代码中,我们使用 while 循环来不断刷新屏幕,保证文本一直显示在窗口上。当我们点击窗口的关闭按钮时,程序会退出。

总结

这篇文章介绍了在 Pygame 中如何显示文本。主要步骤包括初始化 Pygame、创建窗口、创建字体对象、渲染文本和在窗口上显示文本。通过这些步骤,我们可以轻松地在 Pygame 中将文本显示出来。