pygame 视频系统未初始化

时间:2021-01-02 17:30:11

标签: 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()

1 个答案:

答案 0 :(得分:0)

是否只有在退出程序时才会出现此错误?如果是,请将 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()