使用pygame为什么总是闪退?

我看很多博客都说因为没有for event in pygame.event.get()循环而闪退,可我写了循环还是闪退,求问大佬还能是什么原因呀?

import pygame
import random


class Game:
    def __init__(self):
        pygame.init()
        pygame.display.set_mode((800, 600))  # 设置画布大小
        self.screen = pygame.display.get_surface()
        self.clock = pygame.time.Clock()

    def run(self):
        while True:
            for event in pygame.event.get():
                if event.type == pygame.QUIT:  # 退出游戏
                    pygame.display.quit()
                elif event.type == pygame.KEYDOWN:  # 有按键
                    self.keys = pygame.key.get_pressed()  
                elif event.type == pygame.KEYUP:
                    self.keys = pygame.key.get_pressed()
            self.screen.fill((random.randint(0, 255), random.randint(0, 255), random.randint(0, 255)))  # 随机填充颜色
            pygame.display.update()
            self.clock.tick(60)


if __name__ == '__main__':
    game = Game()
    game.run

哦,我发现了,你最后面代码run()的括号没有加,所以程序没有进行调用

最后一行run是函数,调用函数要家括号

我跟你一样,就是闪退哎

https://blog.csdn.net/zokiya/article/details/103844061