运行Pygame代码时出现video system not initialized错误求助
解决Pygame「video system not initialized」错误
你的代码存在两个关键问题,直接导致了这个错误:
pygame.quit()执行时机错误:它被写在main()函数定义之后、程序入口判断之前,这意味着程序启动后会先初始化Pygame、创建窗口,随后立刻关闭Pygame,之后才调用main()函数处理事件。此时视频系统已经被关闭,自然会触发错误。- 退出事件判断错误:
pygame.quit是用于关闭Pygame的函数,正确的窗口退出事件常量是大写的pygame.QUIT。
修复后的代码
import pygame pygame.init() print(pygame.display.Info()) WIDTH, HEIGHT = 900, 500 WIN = pygame.display.set_mode((WIDTH, HEIGHT)) pygame.display.set_caption("First Game") def main(): run = True while run: for event in pygame.event.get(): if event.type == pygame.QUIT: run = False # 退出游戏循环后再关闭Pygame pygame.quit() if __name__ == "__main__": main()
补充说明
如果需要窗口正常显示内容,可以在循环内添加pygame.display.update()或pygame.display.flip()来刷新画面,不过这不是触发当前错误的原因。
内容的提问来源于stack exchange,提问作者user21244828
相关产品推荐
相关产品推荐

