← Все вопросы

Окно pygame открывается и сразу закрывается — что я делаю не так?

Задан 33 месяца назад433 просмотров1 ответ
9

Пишу первую программу на pygame:

import pygame
pygame.init()
screen = pygame.display.set_mode((400, 300))

Запускаю — окно мелькает на долю секунды и тут же закрывается. Я ещё ничего не успеваю увидеть. Что не так?

1 ответ

13
✓ Принятый ответ — помог автору

У тебя нет игрового цикла. Программа создала окно, дошла до конца файла — и Python просто завершился, окно закрылось. Ему нечем «удерживаться» открытым.

Нужно добавить цикл, который крутится, пока игрок не закроет окно:

import pygame
pygame.init()
screen = pygame.display.set_mode((400, 300))

running = True
while running:
    for event in pygame.event.get():
        if event.type == pygame.QUIT:   # крестик
            running = False

pygame.quit()

Теперь окно держится открытым, пока ты не нажмёшь на крестик. Этот while обязателен в любой игре.

Ваш ответ

Войдите, чтобы ответить на вопрос.