【发布时间】:2018-03-08 14:30:55
【问题描述】:
我正在尝试做 Python 速成课程书籍中的一个项目:Alien Invasion 第 12 章。我刚开始,由于某种原因,错误:pygame.error: video system not initialized 不断弹出。我很确定我正确地遵循了指示,所以我不知道我可能做错了什么......?
import sys
import pygame
from settings import Settings
def run_game():
pygame.init()
ai_settings = Settings()
screen = pygame.display.set_mode(
(ai_settings.screen_width, ai_settings.screen_height))
pygame.display.set_caption('Alien Invasion')
while True:
for event in pygame.event.get():
if event.type == pygame.QUIT:
screen.fill(ai_settings.bg_color)
pygame.quit()
sys.exit()
pygame.display.flip()
run_game()
【问题讨论】:
-
尝试在
while块中添加一级缩进。 -
run_game永远不会被调用,因为在您的情况下,退出无限循环的唯一方法是sys.exit,它会杀死脚本。 -
我也是这么想的,但书上是这么说的。我尝试移动或摆脱 '
sys.exit,但仍然收到错误消息。我也试过删除run_game,但显然游戏没有运行