Python中pygame.error: font not initialized的解决方案

在使用pygame模块定义字体时,不管使用pygame.font.SysFont('arial', 16)定义系统字体还是pygame.font.Font("img/font1.ttf", 16)定义ttf字体都会发生pygame.error: font not initialized错误。

当发生此错误时,请检查程序开始部分是否缺少pygame的初始化语句pygame.init()

错误示例:

import pygame
from pygame.locals import *
from sys import exit

# 此时未开启注释
# pygame.init()

# 获取当前系统可用的字体
# print(pygame.font.get_fonts())

# 设置字体
# my_font = pygame.font.SysFont('arial', 16)
my_font = pygame.font.Font("img/font1.ttf", 16)

# 生成字体对象
text_serface = my_font.render("Hello World!", True, (0, 0, 0), (255, 255, 255))
pygame.image.save(text_serface, "img/1.png")

# pygame.error: font not initialized

正确示例:

import pygame
from pygame.locals import *
from sys import exit

pygame.init()

# 获取当前系统可用的字体
# print(pygame.font.get_fonts())

# 设置字体
# my_font = pygame.font.SysFont('arial', 16)
my_font = pygame.font.Font("img/font1.ttf", 16)

# 生成字体对象
text_serface = my_font.render("Hello World!", True, (0, 0, 0), (255, 255, 255))
pygame.image.save(text_serface, "img/1.png")

# 生成图片

你可能感兴趣的:(Python)