今回はBGM等のサウンドをミュートする方法です
やり方はいろいろだと思いますが簡単な方法を
ちなみに画像は『いらすとや』さんの画像
www.irasutoya.com
BGM音源はFREE BGM DOVA-SYNDROME
Reguさんの『のんきな日常』を使わせて頂いています
dova-s.jp
1.ヒエラルキーの+をクリックしてUI/古い機能/ボタンを選択
2.スピーカーONの画像をImageのソース画像にドラッグ&ドロップ
3.サイズを調整しオブジェクトの名前をSpeakerに変更
4.コンポーネントを追加をクリックしAudioSourceを追加する
5.オーディオクリップにBGMの音源をドラッグ&ドロップ
ループにチェックを入れる ゲーム開始時に再生のチェックは外す
6.プロジェクトタブ内で右クリックし作成/C#スクリプトを選択
Speakerというスクリプトを作成する
7.Speakerスクリプトを編集
using System.Collections; using System.Collections.Generic; using UnityEngine; using UnityEngine.UI; public class Speaker : MonoBehaviour { public AudioSource bgm; public GameObject speaker; public Sprite soundOn; public Sprite soundOff; private bool muteOff; // Start is called before the first frame update void Start() { bgm.Play(); muteOff = true; } public void MuteOnOff() { if (muteOff) //ON { muteOff = false; speaker.GetComponent<Image>().sprite = soundOff; } else //OFF { muteOff = true; speaker.GetComponent<Image>().sprite = soundOn; } bgm.mute = !bgm.mute; } }
8.SpeakerスクリプトをSpeakerオブジェクトにアタッチ
9.SpeakerスクリプトにAudioSource Speakerオブジェクト スピーカーON画像 スピーカーOFF画像をドラッグ&ドロップ
10.Buttonのクリック時の+をクリック
11.Speakerオブジェクトをドラッグ&ドロップしFunctionの▼をクリック
12.Speaker/MuteOnOff()を選択
実行するとBGMが鳴ります
スピーカーをクリックするとミュートされもう一度クリックすると解除されます
(再生できなくなっていたので2024.1.25に修正しました)