ボタンによって、2つ以上の音楽を切り替えて再生できるしくみを作りましょう。
AとB、2個のボタンがあり、押すとそれぞれ別のサウンドを鳴らします。
オーディオクリップをボタンによって切り替えています。
関連記事:
Resources.Loadを使ったファイル指定
2つの音を切り替えて鳴らす
オーディオごとにボリュームを変える
ボタンで複数のサウンドを再生
Buttonでオブジェクトの色を変える
2個のボタンでオブジェクトの色を切り替える
サウンド再生のPlayとPlayOneShotの違い
ボタンによる音の切り替え
2つのボタンを作成し、名前をButtonA、ButtonBとしました。
横並びに配置します。
Assetsの中に、Resourcesフォルダを作成しましょう。
今回は、Resourcesフォルダの中に、さらにSoundフォルダを作成しました。
この中に、mp3ファイルを2つ入れました。
空のオブジェクトを作成します。
GameObject(空のオブジェクト)にオーディオソースを追加し、ゲーム開始時に再生のチェックを外します。
SoundChange.csを作成し、GameObject(空のオブジェクト)に追加します。
SoundChange.csを記述します。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 |
using System.Collections; using System.Collections.Generic; using UnityEngine; public class SoundChange : MonoBehaviour { private AudioSource audio; private AudioClip Sound; private string songName; void Start() { audio = GetComponent<AudioSource>(); } public void SoundA() { songName = "SoundA"; Sound = (AudioClip)Resources.Load("Sound/" + songName); audio.PlayOneShot(Sound); } public void SoundB() { songName = "SoundB"; Sound = (AudioClip)Resources.Load("Sound/" + songName); audio.PlayOneShot(Sound); } } |
ButtonAのクリック時の設定を行います。
ButtonBのクリック時の設定を行います。
ゲームプレイして、それぞれボタンを押してみましょう。
SoundAとSoundBがボタンの動作によってオーディオクリップに反映されます。
関連記事:
Resources.Loadを使ったファイル指定
2つの音を切り替えて鳴らす
オーディオごとにボリュームを変える
ボタンで複数のサウンドを再生
Buttonでオブジェクトの色を変える
2個のボタンでオブジェクトの色を切り替える
サウンド再生のPlayとPlayOneShotの違い