Окно Pygame зависает

Мне нужно сделать так, чтобы интерфейс обрабатывался в отдельном потоке. Но при запуске программы окно зависает (пишет "Не отвечает"), хотя цикл все еще работает.

import pygame
import threading


class Interface:
    def __init__(self, fps: float):
        self.clock = pygame.time.Clock()
        self.fps = fps
        pygame.init()
        self.screen = pygame.display.set_mode((800, 600), pygame.RESIZABLE)
        pygame.display.set_caption("AISnake")

        self.loop = threading.Thread(target=self.mainloop)
        self.loop.start()

    def mainloop(self):
        while True:
            run = True
            for event in pygame.event.get():
                if event.type == pygame.QUIT:
                    run = False

            if not run:
                break

            print("loop")
            self.clock.tick(self.fps)
            self.screen.fill((0, 0, 0))
            pygame.draw.rect(self.screen, (255, 0, 255), (10, 10, 100, 100))
            pygame.display.flip()
        pygame.quit()


inter = Interface(1)

При запуске программы


Ответы (0 шт):