Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/282.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.QUIT()_Python_Pygame_Exit_Quit_Sys - Fatal编程技术网

Python:pygame.QUIT()

Python:pygame.QUIT(),python,pygame,exit,quit,sys,Python,Pygame,Exit,Quit,Sys,只是和pygame混在一起,遇到了这个错误 代码: import sys import pygame pygame.init() size = width, height = 600, 400 screen = pygame.display.set_mode(size) while 1: for event in pygame.event.get(): if event.type == pygame.QUIT: pyg

只是和pygame混在一起,遇到了这个错误

代码:

import sys
import pygame
pygame.init()

size = width, height = 600, 400

screen = pygame.display.set_mode(size)

while 1:
        for event in pygame.event.get():
            if event.type == pygame.QUIT:
                pygame.quit(); sys.exit();
Traceback (most recent call last):
  File "C:/Users/Mike Stamets/Desktop/Mygame/Pygame practice/ScreenPractice.py", line 12, in <module>
    pygame.quit(); sys.exit();
SystemExit
错误:

import sys
import pygame
pygame.init()

size = width, height = 600, 400

screen = pygame.display.set_mode(size)

while 1:
        for event in pygame.event.get():
            if event.type == pygame.QUIT:
                pygame.quit(); sys.exit();
Traceback (most recent call last):
  File "C:/Users/Mike Stamets/Desktop/Mygame/Pygame practice/ScreenPractice.py", line 12, in <module>
    pygame.quit(); sys.exit();
SystemExit
回溯(最近一次呼叫最后一次):
文件“C:/Users/Mike Stamets/Desktop/Mygame/Pygame-practice/screenpactice.py”,第12行,在
pygame.quit();sys.exit();
系统出口
我只是想设置一个while循环,这样当按下红色的X时,程序就会退出。出了什么问题?

调用
sys.exit()
会引发
SystemExit
异常,因此这是完全正常的。 例如,尝试将退出调用更改为
sys.exit(1)
,您将在回溯中看到新的退出代码:

Traceback (most recent call last):
  File "C:/.../pygame.py", line 8, in <module>
    sys.exit(1);
SystemExit: 1
回溯(最近一次呼叫最后一次):
文件“C:/…/pygame.py”,第8行,在
系统出口(1);
系统出口:1

在其他新闻中,您可能不需要显式调用
pygame.quit()
-建议以正常方式退出程序。

当您点击escape时切换bool。然后,如果需要,您可以将数据干净地保存到其他位置

done = False
while not done:
    #events
    for event in pygame.event.get():
        if event.type == pygame.QUIT:
            done = True

    draw()

我用python为一个简单的音乐播放器回忆了四个事件。 下面是代码

import pygame
from pygame import mixer

pygame.init()
mixer.init()
screen = pygame.display.set_mode((600, 400))
mixer.music.load("song.mp3")
mixer.music.play()

print("Press 'p' to pause 'r' to resume")
print("Press 'q' to quit")
running = True
while running:
    for event in pygame.event.get():
        if event.type == pygame.QUIT:
               running  = False
        if event.type == pygame.KEYDOWN:
            if event.key == pygame.K_s:
                mixer.music.stop()
            if event.key == pygame.K_r:
                mixer.music.play()
            if event.key == pygame.K_p:
                mixer.music.pause()
            if event.key == pygame.K_y:
                mixer.music.unpause()

pygame.QUIT()          

你在空闲状态下运行程序吗?因为通常你看不到异常,程序只是终止。