Pygame Zero使用screen.draw.text输出hello仅显示白色方块如何解决?
问题原因
该现象是Pygame Zero调用字体失败导致的,显示的5个白色方块是字体缺失时的默认占位符,刚好对应hello的5个字符,本身代码逻辑没有问题,仅字体调用环节出错。
解决方案
- 手动指定系统内已安装的字体渲染,示例代码:
def draw(): # Windows系统可填simhei(黑体)/simsun(宋体),macOS填PingFang,Linux填WenQuanYi Zen Hei screen.draw.text("hello", topleft=(10 , 10), fontname="simhei")
- 若不想每次指定字体,可检查系统基础默认字体库,补装缺失的系统默认字体即可恢复默认调用的渲染效果。
- 跨设备运行优先推荐将.ttf格式字体文件放到项目根目录,直接通过文件名调用,无需依赖系统预装字体,示例:
def draw(): # 此处假设项目根目录下已放入arial.ttf字体文件 screen.draw.text("hello", topleft=(10 , 10), fontname="arial.ttf")
内容的提问来源于stack exchange,提问作者Tathagat
相关产品推荐
相关产品推荐

