跟随Pygame教程时调用SysFont函数出现报错求助
解决Pygame中
pygame.font.SysFont(None, 25)的报错问题 嘿,咱们来搞定你遇到的这个Pygame字体报错!从你给出的回溯信息来看,问题出在调用pygame.font.SysFont(None, 25)这一步,下面是几个靠谱的修复方案:
1. 先把Pygame的字体模块正确初始化
很多时候这个报错都是因为没做好初始化工作!在调用字体相关函数之前,必须先把Pygame整体初始化,还要确保字体模块正常启动:
import pygame # 初始化所有Pygame模块,包括字体模块 pygame.init() # 保险起见,可以单独检查并初始化字体模块 if not pygame.font.get_init(): pygame.font.init()
2. 别用None,直接指定一个系统存在的字体
如果系统找不到默认的无衬线字体,就别让它猜了,直接给个具体的字体名就行。比如Windows用"Arial",macOS用"Helvetica",Linux用"DejaVu Sans":
font = pygame.font.SysFont("Arial", 25)
不知道自己系统有哪些可用字体?运行下面的代码就能列出来:
import pygame pygame.init() print(pygame.font.get_fonts())
3. 直接加载本地字体文件,彻底摆脱系统依赖
要是上面的方法都不好使,那就换个思路,不用系统字体,直接加载本地的字体文件(比如把arial.ttf放到你的脚本同目录下):
font = pygame.font.Font("arial.ttf", 25)
另外,你用的是Python3.6-32位,记得确认Pygame版本和它兼容,建议升级到适配的稳定版本:
pip install --upgrade pygame==1.9.6
内容的提问来源于stack exchange,提问作者Michaël De Bruyne
相关产品推荐
相关产品推荐

