Окно 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)
При запуске программы