您都没打过电话pygame.init()
。
请参阅基本的Intro教程或特定的Import and Initialize教程,其中介绍了:
在使用pygame做很多事情之前,您需要对其进行初始化。最常见的方法是打一个电话。
pygame.init()
这将尝试为您初始化所有pygame模块。并非所有pygame模块都需要初始化,但这会自动初始化那些模块。您还可以手动轻松地初始化每个pygame模块。例如,仅初始化字体模块即可。
在您的特定情况下,可能pygame.display
是抱怨您调用了它set_caption
或它的flip
而没有先调用它init
。但是实际上,正如本教程所说,最好不要将init
所有内容都放在顶部,而要确切地确定何时需要初始化什么。