我尝试添加背景音乐,但没有声音。我可以想到 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.
还请指导我如何添加三个不同的背景音乐。 1 为我的开始屏幕,1 为我的实际游戏,1 为我的结束屏幕。
开始和结束屏幕应该有相同的背景音乐,但我不确定如何转换它。
我还没有添加结束屏幕,因为我不知道如何添加,但是,就上下文而言,当敌人 Sprite 接触玩家 Sprite 时,游戏就结束了。目前,当敌方 Sprite 接触玩家 Sprite 时,游戏就会像 run = False
中那样关闭。
最佳答案
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()
关于python - Pygame背景音乐不播放,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56572662/