Python 3.x &引用;“视频系统未初始化”;关闭pygame窗口时
我有两个类似的代码片段。两者都运行良好,但其中一个在我关闭pygame窗口时显示错误Python 3.x &引用;“视频系统未初始化”;关闭pygame窗口时,python-3.x,pygame,Python 3.x,Pygame,我有两个类似的代码片段。两者都运行良好,但其中一个在我关闭pygame窗口时显示错误 Traceback (most recent call last): File "/home/nabeel/Devalopment/Python/aaa.py", line 92, in <module> pygame.display.flip() pygame.error: video system not initialized 这里有一个没有 import pygame don
Traceback (most recent call last):
File "/home/nabeel/Devalopment/Python/aaa.py", line 92, in <module>
pygame.display.flip()
pygame.error: video system not initialized
这里有一个没有
import pygame
done = False
pygame.init()
screen_size = [320,240]
white = [255,255,255]
black = [0,0,0]
paddle_x = 0
paddle_y = 0
vel_x = 0
vel_y = 0
gutter = 10
screen = pygame.display.set_mode(screen_size)
pygame.display.set_caption("mygame")
while not done:
screen.fill(black)
for event in pygame.event.get():
if event.type == pygame.QUIT:
done = True
if event.type == pygame.KEYDOWN:
if pygame.key.get_pressed()[pygame.K_DOWN]:
vel_y += 2
if pygame.key.get_pressed()[pygame.K_UP]:
vel_y -= 2
if pygame.key.get_pressed()[pygame.K_LEFT]:
vel_x -= 2
if pygame.key.get_pressed()[pygame.K_RIGHT]:
vel_x += 2
paddle_x += vel_x
paddle_y += vel_y
pygame.draw.line(screen,white,(gutter,0),(gutter,screen_size[1]))
pygame.draw.line(screen,white,(screen_size[0]-gutter,0),(screen_size[0]-gutter,screen_size[1]))
pygame.draw.rect(screen,white,[screen_size[0]/2,screen_size[1]/2,10,10],0)
pygame.draw.line(screen,white,[paddle_x+5,paddle_y],[paddle_x+5,paddle_y+30],gutter)
pygame.display.flip()
pygame.quit()
虽然这两个没有做任何事情,但我只是好奇是什么导致了这一切尝试删除此块中的pygame.quit():
if event.type == pygame.QUIT:
done = True
pygame.quit()
其思想是,当调用pygame.quit()
时,整个模块都未初始化,因此如果找到更多的模块方法调用(如pygame.display.flip()
),它们将抛出一个错误:)
如果您希望在上述条件If语句中保留pygame.quit()方法调用,您可以做的是导入sys
模块,并在pygame.quit()下添加sys.exit()
这两种方法都应该很有效:)
希望有帮助
干杯!Alex尝试删除此块中的pygame.quit():
if event.type == pygame.QUIT:
done = True
pygame.quit()
其思想是,当调用pygame.quit()
时,整个模块都未初始化,因此如果找到更多的模块方法调用(如pygame.display.flip()
),它们将抛出一个错误:)
如果您希望在上述条件If语句中保留pygame.quit()方法调用,您可以做的是导入sys
模块,并在pygame.quit()下添加sys.exit()
这两种方法都应该很有效:)
希望有帮助
干杯!Alex尝试删除此块中的pygame.quit():
if event.type == pygame.QUIT:
done = True
pygame.quit()
其思想是,当调用pygame.quit()
时,整个模块都未初始化,因此如果找到更多的模块方法调用(如pygame.display.flip()
),它们将抛出一个错误:)
如果您希望在上述条件If语句中保留pygame.quit()方法调用,您可以做的是导入sys
模块,并在pygame.quit()下添加sys.exit()
这两种方法都应该很有效:)
希望有帮助
干杯!Alex尝试删除此块中的pygame.quit():
if event.type == pygame.QUIT:
done = True
pygame.quit()
其思想是,当调用pygame.quit()
时,整个模块都未初始化,因此如果找到更多的模块方法调用(如pygame.display.flip()
),它们将抛出一个错误:)
如果您希望在上述条件If语句中保留pygame.quit()方法调用,您可以做的是导入sys
模块,并在pygame.quit()下添加sys.exit()
这两种方法都应该很有效:)
希望有帮助
干杯!Alex另一种可能是将游戏循环放入函数中,然后调用return right pygame.quit()退出该函数。另一种可能是将游戏循环放入函数中,然后调用return right pygame.quit()退出函数。另一种可能是将游戏循环放入函数,然后调用return right pygame.quit()退出函数。另一种可能是将游戏循环放入函数,然后调用return right pygame.quit()退出函数。