私は 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にポイントを集める音を鳴らすことができません。