【Unity】スクリプトからサウンドのON/OFFを切り替える方法

クリエイティブ
記事内に広告が含まれています。

アプリ制作しているとき、めんどくさいのがオプション部分の実装。

サウンドの設定とか細かい設定のところの実装って楽しくないしめんどくさいんですよね。
こういうところはちゃちゃっと済ませたいので、今回は簡単なサウンドON/OFFのやり方を説明します。

サウンド調整の実装は必須?

アプリにはサウンドの調整機能があるべきだとは思いますが、ぶっちゃけ音量の調整機能っていらないことの方が多いですよね(FPSとかだったらいるかも)。

簡単なアプリとかだとサウンド設定はON/OFFの切り替えさえ簡単にできればいいと思うので今回はON/OFF機能を実装する方法だけを説明します。
(音量調整はまた別の機会で)

1.AudioSourceのMuteプロパティを使う方法

Unityで音を鳴らす場合は、オーディオを再生するためのオブジェクトを作成してAudioSourceコンポーネントをアタッチすることが必要です。

このAudioSourceコンポーネントにはMuteというプロパティが備わっており、ここにチェックを入れることで当該AudioSourceから出ている音を消音することができます。

このAudioSourceMuteプロパティをスクリプトでTrue/Falseを切り替えてあげればOKです。

具体的な実装方法は以下の通り。
例としてAudioManagerというオブジェクトを作成して、そのオブジェクトで音を管理するとします。

そして、AudioManagerオブジェクトに以下のAudioManagerスクリプトをアタッチします。

using UnityEngine;
using System.Collections;
using System.Collections.Generic;

public class AudioManager : MonoBehaviour
{
    private AudioSource audioSource;

    private void Start()
    {
        audioSource = GetComponent<AudioSource>();
    }

    public void ToggleAudio()
    {
        if (audioSource != null)
        {
            // 関数ToggleAudioが呼ばれたら現在のmuteの値を反転させる
            audioSource.mute = !audioSource.mute; 
        }
    }
}

AudioManagerスクリプトをAudioManagerオブジェクトにアタッチ。

ボタンでON/OFFを切り替える場合はボタンをシーンに追加し、このボタンがクリックされたときにToggleAudioを呼び出せばいいです。

ボタンのOnClick()イベントに、AudioManagerオブジェクトをドラッグし、「AudioToggle -> ToggleAudio」を選択します。

これでボタンをクリックすれば、音のON/OFFが切り替わります。

まとめ

というわけで音のON/OFFの実装方法でした。

別の方法もあるのでまた機会があれば説明します。

独学に限界を感じているあなたに

ゲーム制作に特化したプログラミングスクール「テックスタジアム」をご紹介します。
テックスタジアムは数あるプログラミングスクールでもゲームに特化しており、「完全オンライン」でUnity、3DCGを学ぶことができます。

また、第一線で活躍する講師に質問し放題。ゲーム業界への無料就職サポートも行っており、就職決定者には、授業料が全額返還される特典も。
オンラインで無料相談が可能なので、独学に限界を感じた場合は検討してみてください。

コメント

タイトルとURLをコピーしました