def eventLoop():
pygame.display.update()
for event in pygame.event.get():
if event.type == QUIT:
pygame.quit()
sys.exit
运行游戏(调用eventLoop()函数)时,出现以下错误:
File "C:\Users\Slav\Desktop\project\test.py", line 342, in eventLoop
pygame.display.update()
pygame.error: video system not initialized
Pygame在此函数中初始化(在定义eventLoop()之前):
def initialise(window_width, window_height, window_name, window_colour):
pygame.init()
screen = pygame.display.set_mode((window_width, window_height), 0, 32)
pygame.display.set_caption(window_name)
screen.fill(window_colour)
return screen
此处调用初始化函数:
if show_generation:
screen = initialise(width, height, "Maze Generator", BLACK)
maze = generate_maze(show_generation, gen_choice)
if show_solving and not show_generation:
screen = initialise(width, height, "Maze Generator", BLACK)
visited, num_items = solve_maze(sol_choice)
显示生成/显示解算是一个变量,取自应用程序中的2个复选框,无论用户是否只想显示迷宫生成和/或迷宫解算
当用户选择显示和求解生成的迷宫(就在我的代码末尾)时,将调用eventLoop()函数
if show_generation or show_solving:
while True:
eventLoop()
完全错误:
x_cells: 2
y_cells: 2
show_generation: True
show_solving: True
save_image: True
Running Kruskal�s algorithm
Running depth first search
Traceback (most recent call last):
File "C:\Users\Ray\Desktop\project\pygame.py", line 701, in <module>
eventLoop()
File "C:\Users\Ray\Desktop\project\pygame.py", line 342, in eventLoop
pygame.display.update()
pygame.error: video system not initialized
[Finished in 4.783s]
错误出现在
eventLoop()
而不是if
if event.type == QUIT:
,它应该是if event.type == pygame.QUIT:
它也应该是sys.exit()
而不是sys.exit
因此
eventLoop()
应该如下所示:相关问题 更多 >
编程相关推荐