pygame sys.exit()在取消初始化模块后出错

2024-10-17 08:26:15 发布

您现在位置:Python中文网/ 问答频道 /正文

    def _check_keypresses(self, event):
        """Respond to key presses."""
        if event.key == pygame.K_RIGHT and self.ship.moving_right == False:
            self.ship.moving_right = True

        elif event.key == pygame.K_LEFT and self.ship.moving_left == False:
            self.ship.moving_left = True

        elif event.key == pygame.K.q:
            sys.exit()

    def _check_events(self):
        """Respond to keypresses and mouse events."""
        for event in pygame.event.get():
            if event.type == pygame.QUIT:
                sys.exit()

            elif event.type == pygame.KEYDOWN:
                self._check_keypresses(event)
            elif event.type == pygame.KEYUP:
                self._check_keyreleases(event)

self._check_events()在主循环中运行,侦听输入。如果单击右上角的X,程序将正常退出。一旦Q被按下,sys.exit()就会跟着出现,并且在

AttributeError: module 'pygame' has no attribute 'K'

pygame将自动运行pygame.quit(),在运行sys.exit()之前取消初始化其模块。我相信这可能与模块不再使用后,但在程序存在之前运行的代码有关


Tags: andkeyselfeventdefchecktypesys