使用字体

Pygame可以直接调用系统字体,也可以使用字体文件。pygame的字体功能是由pygame.font模块提供的。要使用字体,必须要先创建一个Font对象。

pygame.font.SysFont('字体名', 字体大小)可以用来建立一个使用系统字体的Font对象,其中第一个参数是系统中的字体名称,第二个参数是字体的字号大小。字体这个东西,每个人的系统中可能都是不一样的,所以更多的时候还是使用TTF字体文件来建立Font对象。使用TTF字体文件来建立Font对象可以直接使用Font类的构造函数pygame.font.Font('字体文件名', 字体大小)

创建完Font对象之后,就可以使用Font对象中的.render()函数来生成文字内容对应的Surface对象了。.render()函数可以接受四个参数,其完整调用格式为.render('文字内容', 反锯齿优化, 文字颜色, 背景颜色)。其中反锯齿优化参数为布尔值,开启时字体显示会比较平滑;文字颜色和背景颜色都是一个由三个整型数值组成的元组,分别对应红、绿、蓝三原色的值,如果不需要背景色,那么可以省略第四个参数。

以下示例会将文字Surface保存成一个图片文件。

import pygame
pygame.init()
custom_font = pygame.font.SysFont("arial", 64)
hello_surface = custom_font.render("Hello World", True, (0, 0, 0), (255, 255, 255))
pygame.image.save(hello_surface, "hello.png")