我正在用Python编写一个小游戏,我想退出我的程序,但我不能

问题描述 投票:0回答:2

我需要你的帮助,我想用 python 模块制作一个迷你 python 游戏,到目前为止一切都很顺利,我的程序打开正常,播放一些音乐但我无法退出它这个,我不明白(我是Python的初学者)。这是我的代码。


#!/usr/bin/python
# -*- coding: utf-8 -*-

import pygame  # importation bibliotheque pygame
from pygame.locals import *  # importation de tout les modules de pygame

pygame.init()  # initialisation du module
fen = pygame.display.set_mode((800, 600))  # variable fenetre stockant les valeurs ouvrant cette fenetre en 800 sur 600
pygame.mixer.music.load(r"C:\Users\namik\Music\02 Chun Li.mp3")  # outil de pygame chargeant ma musique
pygame.mixer.music.play()  # lance musique au démarrage du programme
pygame.display.set_caption('clic souris')

running = True  # attribution de la valeur Vrai a running

while True:  # tant que vrai
    for event in pygame.event.get():
        if event.type == QUIT:
            running = False

pygame.display.update()
pygame.quit()

python pygame
2个回答
2
投票

您将运行设置为

False
,但循环仍将运行,因为您已运行它
while True
。相反,你想要:

#...
running = True

while running: 
    for event in pygame.event.get():
        if event.type == QUIT:
            running = False
#...

因此当运行设置为False时它将终止。


0
投票

你犯了许多初学者在学习 pygame 时常犯的错误。看来你已经把自己陷入了一个循环之中!你的 while 循环将会运行,除非它设置的条件变为 False,但是如果你把

True
放在它旁边,它就会一直运行!因此您将无法退出您的程序。但是,如果您希望 while 循环在 running=False 时退出,请将
True
替换为
running

#!/usr/bin/python
# -*- coding: utf-8 -*-

import pygame  # importation bibliotheque pygame
from pygame.locals import *  # importation de tout les modules de pygame

pygame.init()  # initialisation du module
fen = pygame.display.set_mode((800, 600))  # variable fenetre stockant les valeurs ouvrant cette fenetre en 800 sur 600
pygame.mixer.music.load(r"C:\Users\namik\Music\02 Chun Li.mp3")  # outil de pygame chargeant ma musique
pygame.mixer.music.play()  # lance musique au démarrage du programme
pygame.display.set_caption('clic souris')

running = True  # attribution de la valeur Vrai a running

while running:  # tant que vrai
    for event in pygame.event.get():
        if event.type == QUIT:
            running = False

pygame.display.update()
pygame.quit()

这是有效的,因为 while 循环在条件变为 false 时停止,因此通过将

running
设置为条件,每当
running
变为 false 时,while 循环就会停止。

希望我说的有帮助,谢谢!

© www.soinside.com 2019 - 2024. All rights reserved.