微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

pygame 视频系统未初始化

如何解决pygame 视频系统未初始化

我不断收到此错误:“pygame.display.update() pygame.error: video system not initialized” 即使我初始化了所有 pygame 模块。有任何想法吗? 我使用的是最新版本的 pygame,python 3.8.5,我在 python shell 中运行程序,我的操作系统是 Windows。

import pygame,random
pygame.init()
win=pygame.display.set_mode((500,500))
clock=pygame.time.Clock()
loop=True


while loop:
    clock.tick(25)
    for event in pygame.event.get():
        if event.type==pygame.MOUSEBUTTONDOWN:
            if event.button==1:
                pos=event.pos
                pos=(round(pos[0]/SIDE),round(pos[1]/SIDE))
        if event.type==pygame.QUIT:
            loop=False
            pygame.quit()
    board.draw(win)
    pygame.display.update()

解决方法

是否只有在退出程序时才会出现此错误?如果是,请将 pygame.quit() 移至文件的结尾。当您退出游戏时,您调用 pygame.quit(),它会自动调用 pygame.display.quit(),取消初始化视频 (pygame.display) 系统。然后调用 pygame.display.update(),这需要初始化视频系统。由于您已经取消初始化它,它会引发 video system not initialized 错误。

您的代码应如下所示:

while loop:
    clock.tick(25)
    for event in pygame.event.get():
        if event.type==pygame.MOUSEBUTTONDOWN:
            if event.button==1:
                pos=event.pos
                pos=(round(pos[0]/SIDE),round(pos[1]/SIDE))
        if event.type==pygame.QUIT:
            loop=False
    board.draw(win)
    pygame.display.update()
pygame.quit()

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。