音がしないゲームなど、存在しないといってよいでしょう。今回は、BGMを再生してみたいと思います。
BGMファイルを用意する
BGMとして利用できるのは、mp3形式とogg形式のファイルです。
使用環境によっては、mp3がサポートされていない場合もあるようです。
また、BGMとして再生できるのは一つの音楽だけです。
音楽を自作するのは大変なので、今回は音楽の卵さんからお借りしています。
ファイル名はなんでもいいのですが、とりあえず「bgm.ogg」で保存しておきます。
BGMを再生する
tools.pyファイルに、BGMファイルを読み込むための関数を記述します。
def play_bgm(file):
bgm_file = os.path.join("data", file)
pygame.mixer.music.load(bgm_file)
pygame.mixer.music.play(-1)
pygame.mixer.music.load()関数で、音楽ファイルを読み込みます。
すでに再生中の音楽があった場合、その再生は中止されますが、この命令だけでは新しく音楽の再生は始まりません。
音楽の再生を開始するのは、その後のpygame.mixer.music.play()関数です。
引数には、繰り返し再生する回数を設定することができ、例えばpygame.mixer.music.play(3)のように設定します。
BGMを無限に繰り返し再生したい場合は、引数に-1を設定します。
今回は無限に繰り返したいので、-1を設定していますね。
これでbgmを読み込むことができるようになったので、sample.pyのコンストラクタで
tools.play_bgm("ファイル名")
のように使用することで、BGMを再生できるようになりました。
とても簡単ですね。