我是使用pygame的新手。 当我运行以下代码并尝试关闭pygame窗口时,我收到错误:
" pygame.display.flip() pygame.error:视频系统未初始化"
这是我的代码:
import pygame
import random
import sys
class main:
def __init__(self, height = 600, width = 800):
pygame.init()
self.screen = pygame.display.set_mode((width, height))
self.screen.fill((0, 255, 255))
try:
while True:
for event in pygame.event.get():
if event.type == pygame.QUIT:
pygame.quit()
pygame.display.flip()
finally:
pass
if __name__ == '__main__':
window = main()
答案 0 :(得分:0)
作为Ignacio already hinted,如果您关闭游戏,您将在循环中读取pygame.QUIT
的事件,但您误解了pygame.quit()
它不会离开循环的效果,因此下一行pygame.display.flip()
被调用,好像游戏仍然在运行。
你应该关心离开循环。也许通过将while True:
替换为while playing:
之类的内容,您可以在获得playing
事件后将False
设置为pygame.QUIT
。