我正在使用 Pygame 制作游戏,而我正在尝试做的是为每个关卡设置一个主音,并在收集点时听到一些默认声音(e.g.)
所以,我使用以下方法加载主级音乐:
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 中播放的声音在自己的线程上运行,但我确信 program/game 在完成播放声音之前不会终止。
长话短说:玩家可以收集积分,但我无法让 pygame 播放收集点声音。
2 回答
正如sr2222在评论中所说:
为您的声音尝试 OGG 或 WAV 格式,这应该工作。
points_sound.play()应该返回一个通道对象。该对象是播放声音所必需的。
这让我在自己的情况下得到了帮助。