Unityでゲーム、アプリ開発

Unityで初めてゲームやアプリを作る人のための支援ブログです。

Unity 音楽をボタンで切り替えて流す方法 Unity学習19

どうもあは今晩は!
ゆうきやんです。

最近皆様はいかがお過ごしでしょうか?
健康で健やかな毎日を送れることを
心の片隅から願っております笑笑

さて!本題に入っていきましょう。


音楽をボタンで切り替えて流す方法!

f:id:Phoenix9056:20200229224458j:plain

まずUnity3Dプロジェクトを開いてください。


最初に音楽ファイルのダウンロードですが、
自分が好きな音楽がある方はそれを使ってください。

もし音楽ファイルがないって方はこれから紹介する、
Unityのアセットを使うか、サイトからダウンロードする
下記記事を参考にして音楽ファイルを用意してください。
phoenix9056.hatenablog.com


f:id:Phoenix9056:20200329121524j:plain

エディタ上部にあるWindow⇨Asset Storeから
Epic Music Trackを検索して、ダウンロード、
インポートしてください。
※アセットのインポートの仕方が分からない方は下記記事を参考にしてください。
phoenix9056.hatenablog.com


f:id:Phoenix9056:20200329123122j:plain

次にHierarchyの①のをクリックして、②のUIを選択。
そして③のButtonをクリックしてボタンを設置していきましょう。


f:id:Phoenix9056:20200329123414j:plain

①の先程作ったButtonを右クリックを押して、
②のDuplicateをクリックして複製していきます。
3つのButtonを作成してそれぞれButtonの名前を
Button1~Button3に変更してください。


f:id:Phoenix9056:20200329123754j:plain

①のTextをクリックして②の表示されるテキストを
music1に変更します。
※テキスト内容は好きなもので構いません。

各ボタンの名前と大きさ場所を好きな様に
設定してください。


f:id:Phoenix9056:20200329134138j:plain

①のMain Cameraをクリックして、Inspector
一番下にあるAdd Componentをクリックして、
②のAudio Sourceを追加してください。


今度はスクリプトを書いていきます。
Project内の自分がわかりやすい所で右クリックを押して
Create⇨C# Scriptを作成します。

スクリプトの名前はAudioChangeとします。

次のコードをコピー&ペーストするか同じ様に記述してください。

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

public class AudioChange : MonoBehaviour
{
    //AudoClipの配列、clipsを宣言します。
    public AudioClip[] clips;
    //AudioSource型の変数audiosを宣言します。
    AudioSource audios;

    void Start()
    {
        //GetComponenntoでAudioSourceコンポーネントにアクセスして
        //変数audiosで参照します。
        audios = GetComponent<AudioSource>();

    }

    //Button1がクリックされた時の処理
    public void Button1Click()
    {
        //配列変数clipのインデックスが0のAudioのファイルを再生します。
        audios.clip = clips[0];
        audios.Play();
    }

    //Button2がクリックされた時の処理
    public void Button2Click()
    {
        //配列変数clipのインデックスが1のAudioのファイルを再生します。
        audios.clip = clips[1];
        audios.Play();
    }

    //Button3がクリックされた時の処理
    public void Button3Click()
    {
        //配列変数clipのインデックスが2のAudioのファイルを再生します。
        audios.clip = clips[2];
        audios.Play();
    }

}


f:id:Phoenix9056:20200329133357j:plain

①のMain Cameraに先程作成したスクリプト
ドラッグ&ドロップせてアタッチしてください。

次のMain CameraInspectorに先程追加した②のスクリプトがあるので、
Clipの▶︎をクリックしてSizeを3にして、Element0~2に好きな音楽ファイルを
ドラッグ&ドロップしてください。

③のAudio SourceにあるLoopにはチェックを入れておきましょう。


さあ!次が最後の一手間になります!

f:id:Phoenix9056:20200329135203j:plain

①のHierarchy内にあるButton1をクリックして、
②のInspector内にあるOn Click内にあるをクリックしてください。

次に③の部分に、Hierarchy内にある④のMain Cameraドラッグ&ドロップしてください。
⑤のNo Functionをクリックして⑥のAudioChangeをクリック。
最後に⑦のButton1Clickを選択すれば完了です。
これでスクリプトButtonの関連がされました。

※残りのButton2,3も同じ様に設定してください。

上手くいったでしょうか?今日も成功ですね!


ご視聴ありがとうございました。


※このままUnity学習される方は下記カテゴリを参考にしてください。
phoenix9056.hatenablog.com

※初心者編は下記カテゴリより。
phoenix9056.hatenablog.com

※オススメアセットは下記カテゴリを参考にしてください。

phoenix9056.hatenablog.com