ゲーム制作勉強中!あこがれだったプログラマーに今からなろう!

昔、あこがれていたプログラマー。今からでも勉強してみようと思い立ち、チャレンジ開始! 勉強メモや、悪戦苦闘な日々の記録です。

Pause機能の実装

しまづさんのサロンでオーディオに関する説明があり、Audio Mixerの活用や、Audio設定について学んだので、早速、作成中のシューティングゲームに取り込んでみることにした。

 

他の人の作品でスライダーでボリューム調整できる仕組みをみて、作り方を知りたいと思っていたので、ちょうど良かった。

 

Audio Mixerを作成し、BGMとSEを関連付けるまではできたが、スライダーでボリューム調整する段階で、ちょっと困った事に。

ボリューム調整画面を表示させている間もゲームが進んでいるため、ボリューム調整中に敵にやられるという、なんだこりゃ😫な状態になってしまう。

 

そのため、まずはPause機能を作ることにした。

12行のTime.timeScale=0fで時間経過を止める事ができる。

ただし、全てが止まるわけではなく、Updateのフレーム更新処理は動いているので、

一旦停止するには、スクリプト全体にも工夫が必要になるようだ。

 

例えば、停止したいスクリプトにTime.deltaTimeを掛けたりするなどの処理を加えれば、Updateでメソッドが呼ばれても、Time.deltaTimeが止まっているので、処理を止める事ができた。

youtu.be

 

スクリプト全体を見直したので、ここまでで結構な時間がかかってしまった。 明日はいよいよAudio MixerでBGMとSEのボリューム調整できるように組み込んでいこう。