Вероятно, проблема заключается в том, что код ожидает ввода от пользователя, но в pygame не используется событийная модель для обработки пользовательского ввода. Вместо этого, pygame использует цикл событий для обработки событий, таких как нажатие клавиши или щелчок мыши.
Чтобы исправить данную ситуацию, вам необходимо включить цикл событий в вашем коде, чтобы pygame мог обрабатывать ввод пользователя. Вы можете сделать это, добавив следующий код в вашу программу:
```python
import pygame
# Начальная инициализация pygame
pygame.init()
# Создание окна приложения
screen = pygame.display.set_mode((800, 600))
# Основной цикл событий
while True:
for event in pygame.event.get():
if event.type == pygame.QUIT:
pygame.quit()
quit()
# Здесь должен быть ваш код
pygame.display.update()
```
Этот код создает окно приложения и запускает бесконечный цикл событий, который обрабатывает события и обновляет экран. В вашем коде, где вы ожидаете нажатия на кнопку "Create" в течение 5 секунд, вы можете добавить код проверки события нажатия на клавишу для завершения цикла:
```python
import pygame
# Начальная инициализация pygame
pygame.init()
# Создание окна приложения
screen = pygame.display.set_mode((800, 600))
# Очистка экрана
screen.fill((255, 255, 255))
# Отображение кнопки "Create"
button = pygame.draw.rect(screen, (0, 255, 0), (350, 250, 100, 50))
pygame.display.update()
# Переменная для отслеживания времени ожидания
wait_time = 5
# Основной цикл событий
while wait_time > 0:
for event in pygame.event.get():
if event.type == pygame.QUIT:
pygame.quit()
quit()
# Проверка нажатия на кнопку "Create"
if event.type == pygame.MOUSEBUTTONDOWN:
if button.collidepoint(event.pos):
print("Button pressed!")
wait_time = 0
wait_time -= pygame.time.get_ticks() / 1000
pygame.display.update()
```
В этом примере, после нажатия на кнопку "Create", будет выведено сообщение "Button pressed!" и ожидание будет завершено. Приложение продолжит работу в основном цикле событий.