Совет: используйте CTRL + K , чтобы правильно отформатировать код
Во-первых, экран хранится неправильно, сделайте его атрибутом, и он поможет вам позже.
Во-вторых, в словаре переключателей функция quit всегда запускается и не работает в цикле событий.
В-третьих, вы импортируете pygame дважды.
В-четвертых, не используйте quit, используйте pygame.quit ().
В-пятых, есть несколько бесполезных функций, которые могут быть удалены без влияния на класс приложения.
Вот правильный код:
import pygame
class App:
def __init__(self):
self.exitgame = False
self.surface = (640, 500)
self.screen = pygame.display.set_mode(self.surface)
def setup(self):
pass
if __name__ == "__main__":
game = App()
game.setup()
while not game.exitgame:
for event in pygame.event.get():
if event.type == pygame.QUIT:
game.exitgame = True
pygame.quit()