错误:视频系统未初始化;有什么解决方案吗?

2 投票
2 回答
2859 浏览
提问于 2025-04-16 12:35

我查了很多资料。每次看到有人问这个问题,大家都会告诉他们要调用 pygame.init()。当提问的人说他们已经这样做了之后,就没有人再回复了。

我尝试了我能想到的所有方法,但都没有用。

错误信息如下:

追踪记录(最近的调用在最前面): 文件 "C:\Python26\TwC\main.py",第 183 行,在 for e in pygame.event.get(): 错误:视频系统未初始化

这是我导入的内容,以防有冲突:

#imports
import os, sys
import pygame
from pygame.locals import *

这是我调用 pygame.init() 的地方,证明我确实调用了:

#initialize
os.environ["SDL_VIDEO_CENTERED"] = "1"
pygame.init()

#setup display
pygame.display.set_caption("TwC V%s" % version)
screen = pygame.display.set_mode((320, 240))

最后,这里是引发错误的那一行代码:

while running:

    clock.tick(60)

    for e in pygame.event.get():
        if e.type == pygame.QUIT:
            running = False
        if e.type == pygame.KEYDOWN and e.key == pygame.K_ESCAPE:
            running = False

编辑: 删除导致错误的那段代码,只会让另一个地方出现同样的错误,这意味着问题出在 pygame.init() 上。我在考虑干脆放弃这整个项目,重新做一遍。其实做这个也没花太长时间。

2 个回答

1

一个很简单的解决办法就是确保你程序的最后一行代码 pygame.quit() 是没有缩进的。错误可能会让你觉得问题出在之前的代码上……我就被这个搞糊涂了大约15分钟。

撰写回答