BGMを再生する

音がしないゲームなど、存在しないといってよいでしょう。今回は、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を再生できるようになりました。

とても簡単ですね。