【Unity】スクリプトで複数の効果音を同時に制御する方法!

Unity

今回は、複数の効果音を一つのオブジェクトで制御する方法を記述していきます。

今回使った効果音は「OtoLogic」からダウンロードをしました。

サイトはこちら↓

フリー効果音:PC・マウス|OtoLogic
フリー効果音:PC・マウス|クリック音などマウスに関するフリー効果音です。

準備

効果音を管理するための空のオブジェクトを作ります。名前をSoundManagerとします。

そのオブジェクトにインスペクターの「Add Component」からSound Sourceを追加。

準備は完了

制御するスクリプト

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

public class SoundController : MonoBehaviour
{
    AudioSource aud;
    [SerializeField] AudioClip aud1;
    [SerializeField] AudioClip aud2;

    // Start is called before the first frame update
    void Start()
    {
        aud = GetComponent<AudioSource>();    
    }

    // Update is called once per frame
    void Update()
    {
        ClickSound();
    }

    void ClickSound()
    {
        if (Input.GetMouseButtonDown(0))
        {
            aud.PlayOneShot(aud1);
        }

        if (Input.GetMouseButtonDown(1))
        {
            aud.PlayOneShot(aud2);
        }
    }
}

マウスの右クリックと左クリックそれぞれ違う音が鳴るようになります。

このスクリプトをSoundManagerにアタッチします。

SerializeFieldで効果音を入れられるようにしましたので、それぞれのAudに入れていきます。

これで実行をすると

このように右クリックと左クリックで違う音を出すのに成功しました!

まとめ

とても簡単でしたね。

今回使った効果音はこちらのサイトからダウンロードできます↓

フリー効果音:PC・マウス|OtoLogic
フリー効果音:PC・マウス|クリック音などマウスに関するフリー効果音です。

コメント

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