pygame 使用 字体模块

1,350 阅读3分钟

持续创作,加速成长!这是我参与「掘金日新计划 · 10 月更文挑战」的第18天,点击查看活动详情

pygame 使用 字体模块

承诺涵盖我们在事件队列脚本中使用的字体模块。在屏幕上绘制文本的能力确实可以帮助测试脚本;您可能还需要它来显示游戏说明,菜单选项等。字体模块使用 TrueType 字体 (TTF),这些字体在大多数系统上用于呈现高质量、流畅的文本。您的计算机上将安装许多这样的字体,可供字体模块使用。

若要使用字体,必须首先创建 Font 对象。最简单的方法是使用pygame。字体。系统字体,它使用您计算机上安装的字体之一。以下行为 Arial 字体(一种易于阅读的常用字体)创建一个 Font 对象:

image.png

第一个参数是要创建的字体的名称,下一个参数指定字体大小(以像素为单位)。Pygame将在您安装的字体中寻找名称为“arial”的字体;如果找不到,则将返回默认字体。您可以通过调用pygame来获取系统上安装的字体列表。字体。get_fonts ().。也可以通过调用pygame直接从.ttf文件创建字体。字体。字体,采用文件名。以下行将文件加载my_font.ttf并返回字体对象:

image.png

创建 Font 对象后,可以使用它将文本呈现到新图面。若要呈现文本,请使用 Font 对象的呈现成员函数。它会创建一个包含文本的新图面,然后您可以将该图面放到显示屏上。以下行呈现一段文本并返回新图面:

image.png

呈现的第一个参数是要呈现的文本。它必须是一条线;如果需要多行,则必须断开字符串并使用多个渲染调用。第二个参数是布尔值(True 或 False),用于启用抗锯齿文本。如果设置为 True,文本将具有现代、流畅的外观;否则,它将显得更加像素化。渲染的下两个参数是文本颜色,后跟

背景色。背景是可选的,如果将其省略(或将其设置为“无”),则背景将是透明的。

为了完成对字体模块的介绍,让我们编写一个小脚本,将我的名字渲染到图面上,并将其另存为图像。随意更改绘制为自己的名称。如果您修改清单 3-6 的第一行,它将完成此操作。

清单 3-6.将您的姓名写入图像

image.png

这个脚本非常简单,我们甚至不需要创建显示!运行清单 3-6 时,您不会在屏幕上看到太多情况,但代码会在与脚本相同的位置创建一个名为 name.png 的图像文件。您可以使用任何图像查看器软件打开该文件。将表面保存到文件中是使用pygame.image模块完成的,我们将在下一章中介绍该模块。

字体模块提供了其他功能以及 Font 对象,您可能偶尔需要使用它们。它们主要是信息性的,旨在检索有关字体的各种信息。有些函数将模拟粗体和斜体文本,但最好使用专用的粗体或斜体字体。有关字体模块的完整详细信息,请参阅 www 上的文档。。警告 已安装的字体因计算机而异,您不能始终依赖于存在的特定字体。如果Pygame找不到您要求的字体,它将使用看起来可能不相同的默认字体。解决方案是随游戏分发.ttf文件,但请确保您已获得字体作者的许可才能执行此操作!对于免费分发的字体,您可以使用比特流Vera系列中的一些内容