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

Python Pygame音乐不会在我的游戏功能中播放

Python Pygame音乐不会在我的游戏功能中播放,python,pygame,Python,Pygame,我试图在游戏的战斗阶段播放一些平静的背景音乐,我的游戏在一个函数中运行,每当我调用函数播放音乐时,它都会保持沉默,直到我退出game()函数,然后音乐会突然响起,我将非常感谢任何关于这可能是什么原因的见解 def game(): running = True while running: screen.fill((0, 0, 0)) sewer = pygame.image.load('assets\

我试图在游戏的战斗阶段播放一些平静的背景音乐,我的游戏在一个函数中运行,每当我调用函数播放音乐时,它都会保持沉默,直到我退出game()函数,然后音乐会突然响起,我将非常感谢任何关于这可能是什么原因的见解

def game():
        running = True
        while running:
                screen.fill((0, 0, 0))
                sewer = pygame.image.load('assets\\backgrounds\\sewer.png')
                screen.blit(sewer,(0,0))
                mx, my = pygame.mouse.get_pos()
                turn = 0
                mob()
                monster_health()
                stopmusic()
                pmusic("assets\\music\\battlemusic.mp3")



def stopmusic():
    pygame.mixer.music.stop()

def pmusic(file):
    pygame.mixer.music.load(file)
    pygame.mixer.music.play(-1)

您正在调用
pmusic()
之后立即调用
stopmusic()
。 因此,每次你进入游戏循环时,音乐都会立即关闭并重新开始。当你结束游戏时,你在打开音乐后退出while循环,这就是为什么你之后会听到它。 您应在进入游戏循环前启动音乐,并在退出时停止:

def game():
    running = True
    pmusic("assets\\music\\battlemusic.mp3")
    while running:
        ...
    stopmusic()

似乎你每一帧都开始和停止音乐。在while循环之前调用pmusic,并从while循环内部删除stopmusic和pmusic。