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

为什么会出现错误:pygame.error: video system not initialized

如何解决为什么会出现错误:pygame.error: video system not initialized

正如标题所说,我很困惑为什么会出现错误:pygame.error: video system not initialized

据我所知,如果您忘记使用 pygame.init() 初始化代码,则会引发此错误,但我做到了,这是我的代码,提前致谢:

import pygame
from pygame.locals import *

pygame.init()

screen_height = 700
screen_width = 1000

screen = pygame.display.set_mode((screen_width,screen_height))
pygame.display.set_caption("platformer")

# load images
sun_img = pygame.image.load("img/sun.png")
backround_img = pygame.image.load("img/sky.png")


run = True
while run:

    screen.blit (backround_img,(0,0))
    screen.blit(sun_img,(100,50))

    for event in pygame.event.get():
        if event.type == pygame.QUIT:
            run = False
            pygame.quit()

    pygame.display.update()

错误不会使窗口或任何东西崩溃,并且它按预期工作 只是有点烦。

解决方法

   for event in pygame.event.get():
        if event.type == pygame.QUIT:
            run = False
            pygame.quit()

    pygame.display.update()

当事件循环发生时,如果关闭窗口,则调用 pygame.quit(),从而退出 pygame。然后它尝试做:

pygame.display.update()

但 pygame 已退出,这就是您收到消息的原因。

将逻辑分离出来。在一个函数或方法中发生事件,在另一个函数或方法中更新,在另一个函数或方法中绘制和更新显示以避免这种情况。

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