Подтвердить что ты не робот

Ошибка 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

Почему я получаю эту ошибку?

4b9b3361

Ответ 1

if event.type == pygame.quit():

В приведенной выше строке вы вызываете pygame.quit(), которая является функцией, а то, что вы действительно хотите, является константой pygame.QUIT. Вызывая pygame.quit(), pygame больше не инициализируется, поэтому вы получаете эту ошибку.

Таким образом, изменив строку на:

if event.type == pygame.QUIT: # Note the capitalization

Решите вашу проблему.

Важно отметить, что pygame.quit() не выйдет из программы.