Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/ios/117.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 为什么pygame不退出?_Python_Exit_Python Idle_Quit - Fatal编程技术网

Python 为什么pygame不退出?

Python 为什么pygame不退出?,python,exit,python-idle,quit,Python,Exit,Python Idle,Quit,游戏冻结而不是退出。我必须退出空闲状态。有什么办法吗 def quit_game(): for event in pygame.event.get(): if event.type == pygame.QUIT: sys.exit() quit_game() 这是一个空闲的bug。我建议使用真正的IDE,比如pycharm。但是,要解决此问题,请查看。他们提供了以下解决方案: # ... running = True while runnin

游戏冻结而不是退出。我必须退出空闲状态。有什么办法吗

def quit_game():
    for event in pygame.event.get():

        if event.type == pygame.QUIT:

            sys.exit()
quit_game()

这是一个空闲的bug。我建议使用真正的IDE,比如pycharm。但是,要解决此问题,请查看。他们提供了以下解决方案:

# ... running = True
while running:
    event = pygame.event.wait ()
    if event.type == pygame.QUIT:
        running = False  # Be IDLE friendly
pygame.quit ()
它可能有用

def quit_game():
        for event in pygame.event.get():

            if event.type == pygame.QUIT:
                pygame.quit()
                sys.exit()
    quit_game()

从空闲编辑器运行文件与使用python-i path_to_file.py从命令行运行文件类似。如果您在命令行中使用python-i使用上述代码运行游戏,它是否与您报告的冻结而不是退出相同?我刚刚让一个pygame程序员尝试了我在Win7上建议的3.4实验,事实上,当命令窗口显示交互式>>>提示时,游戏窗口冻结。空闲捕获SystemExit是一个设计决策,而不是一个bug。这可能不是Idle所独有的。即使在运行PyGame时不是这样,它通常对用户来说也是一个加号。也许行为的细节可以被忽略。我认为FAQ关于保留参考文献的猜测是错误的。我知道用“用空闲编辑”和“空闲开始菜单”图标之间的区别是错误的。游戏窗口冻结行为是python本身在-我通过时的行为。见我对问题的评论。它不是一个空闲的bug。Idle是一个真正的IDE,即使在大多数方面没有PyCharm那么复杂和复杂。这些都是我实际上没有意识到的优点,谢谢。然而IDLE肯定只是一个文本编辑器和shell组合然而,这与问题无关