前回までのあらすじ
もうだいだい完成でいいかな・・・という気がしてきましたが、更にバージョンアップを図ってみます。

ゲーム中のBGMを追加
ゲーム中が無音なので、ちょっとしたBGMを追加してみたいと思います。
BGMはおなじみフリーBGM DOVA-SYNDROMEさんにて
https://dova-s.jp/bgm/
バックグラウンドのBGMはどのスプライトに…?
ゲームの実行中のバックグラウンドBGMは、どのスプライトが持っておくと良いか?は簡単そうで難しい気がしてきます。
このパターンだと音が鳴りませんでした。

主人公のスプライトにバックグラウンドBGMを持たせるのもちょっと違和感があります。

背景に持たせてみる
何となくですが、背景がいいのかな?という気がしましたので、背景にバックグラウンドのBGMを持たせてみます。


この辺りは、別の定義か何かを使ってまとめた方が良いのかな?という気もしますが、ひとまず。

これだと音が止まらないので、メッセージで調整してみます。

音を止めて!
[rml_read_more]

音を出して!

音量オン・オフボタンを押したタイミングで、これらのメッセージを送ってみます。

メッセージを受け取って、音量オン・オフを変えられるようにしてみます。

これで、音量ONになったときは音量100%、音量OFFになったときは音量0%になるので、音は音量OFFのまま鳴り続けるので自然な感じで切り替えができます。

オープニング→ゲームスタートの音切り替えが難しい…!
例えば、「終わるまでオープニングの音を鳴らす」とすると、ゲームが始まってもオープニングの音が止まらず、かと言って、「オープニングの音を鳴らす」だけを、ずっとで回し続けると、ゲームがバグったような音の大量無限ループが始まります…!


音量のON・OFFで、どうにか調整できる…か…?
それぞれのスプライトに切り替えのタイミングの音を持たせておき、オープニング→ゲーム中→ゲームオーバーのタイミングで、それぞれの音を0%に変える、として無理やり切り替えることなら…出来そうな気がします。


スクリプトがややこしい事に…
音量ON・OFFボタンを設置したことで、このボタンを押した(連打)した時に、音量を確実に調整しないと、ゲームが始まった(ステージ1に以降した)のに、オープニングのBGMが流れ出す、という謎の減少が発生してしまいます。


調整完了

音量と、先に作っておいた「ゲームスタート変数」と「ゲームオーバー変数」を使って、音量ボタンの「音を出して」を受け取った時に、オープニングなのか、ゲーム中なのか、ゲームオーバー画面なのか、で条件分岐を追加してみました。

完成版はこちら
BGMも搭載されて、だんだんとゲームらしくなってきた・・・?笑
※音量をONにすると音がなるので注意!
