繁体   English   中英

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

[英]Pygame music will not play inside of my game function

我正在尝试在游戏的战斗阶段播放一些平静的背景音乐,我的游戏在一个函数内运行,每当我调用该函数播放音乐时,它都会保持沉默,直到我退出 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()

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM