pygame背景音乐不播放

时间:2019-06-13 02:39:29

标签: python pygame

我尝试添加背景音乐,但没有声音发出。我可以想到3个可能的原因,但我不知道如何解决。

第一个可能的原因:我将文件放置在计算机上的错误位置 (我将其放在Windows下的[C:]用户下,因为这是我的pygame文件所在的位置)

第二个可能的原因:我将代码放置在错误的位置。 (我把它放在主循环中,我看不到其他人在做,但是我也有一个开始屏幕,我不想在开始屏幕和实际游戏中使用相同的音乐。)

第三种可能的原因:代码错误/不完整。 (我在这里看到的代码中只有三行,但有时)

pygame.init()
pygame.mixer.init()
while run:

    pygame.mixer.music.load('bgm.mp3')
    pygame.mixer.music.play()

这是我的完整代码:

Code is removed for now. Will re-upload in 1 to 2 months.

也请指导我如何添加三个不同的bgm。 1是我的开始屏幕,1是我的实际游戏,1是我的结束屏幕。

开始屏幕和结束屏幕应该具有相同的背景色,但是我不确定如何进行过渡。

我还没有添加结束屏幕,因为我不知道该怎么做,但是,当上下文,当敌人的精灵碰触到玩家的精灵时,它的游戏结束了。现在,当敌人的精灵接触到玩家的精灵时,游戏就像在run = False中一样关闭。

1 个答案:

答案 0 :(得分:2)

mp3 文件会不断加载并在主循环中重新启动。如果要连续播放背景音乐,则仅在不播放音乐的情况下才必须启动和重新启动音乐。
通过pygame.mixer.music.get_busy()检查音乐流是否正在播放。例如:

run = True
while run:

    if not pygame.mixer.music.get_busy():
        pygame.mixer.music.load('bgm.mp3')
        pygame.mixer.music.play()