Ошибка Pygame: видеосистема не инициализирована
Я использовал Pygame с python 2.7 раньше, но недавно я "обновил" до python 3.2. Я загрузил и установил новейшую версию Pygame, которая, как говорят, работает с этой версией python. У меня, однако, была эта довольно неприятная ошибка на том, что должно быть простым блоком кода. Код:
import pygame, random
title = "Hello!"
width = 640
height = 400
pygame.init()
screen = pygame.display.set_mode((width, height))
running = True
clock = pygame.time.Clock()
pygame.display.set_caption(title)
running = True
while running:
for event in pygame.event.get():
if event.type == pygame.quit():
running = False
else:
print(event.type)
clock.tick(240)
pygame.quit()
И каждый раз, когда я запускаю его, я получаю:
17
1
4
Traceback (most recent call last):
File "C:/Users/David/Desktop/hjdfhksdf.py", line 15, in <module>
for event in pygame.event.get():
pygame.error: video system not initialized
Почему я получаю эту ошибку?
Ответы
Ответ 1
if event.type == pygame.quit():
В приведенной выше строке вы вызываете pygame.quit()
, которая является функцией, а то, что вы действительно хотите, является константой pygame.QUIT
. Вызывая pygame.quit()
, pygame больше не инициализируется, поэтому вы получаете эту ошибку.
Таким образом, изменив строку на:
if event.type == pygame.QUIT: # Note the capitalization
Решите вашу проблему.
Важно отметить, что pygame.quit()
не выйдет из программы.