我正在使用Pygame制作游戏,而我正在尝试做的是为每个关卡设置一个主音,并在收集点时听到一些默认声音(例如)
所以,我使用以下方式加载主级音乐:
pygame.mixer.music.load(music_file)
pygame.mixer.music.play(-1)
现在,我想做的是每当玩家收集一个点时播放特定的声音。我无法停止播放音乐:
pygame.mixer.music.stop()
pygame.mixer.music.load(point_music)
pygame.mixer.music.play()
因为关卡的音乐会停止播放。
所以,我尝试过这样的事情:
points_sound = pygame.mixer.Sound("point.mp3")
points_sound.play()
我知道在pygame中播放的声音在其自己的线程上运行,但我确信程序/游戏在完成播放声音之前不会终止。
长话短说:玩家可以收集积分,但我无法让pygame播放收集点声音。
答案 0 :(得分:3)
答案 1 :(得分:1)
points_sound.play()应该返回一个通道对象。此对象是播放声音所必需的。
points_channel = points_sound.play()
这让我在自己的情况下得到了帮助。