見出し画像

(Unity初心者)ブロック崩しのつくり方 #8 BGM・効果音をつける

BGMをつけてみます。

AudioSorceというコンポーネントを使用します。

そのコンポーネントをつけるためにまず

Hierarckyウィンドから右クリックで、Create empty

を選択してGameObjectをつくってください。 (名前をGameControllerにします)

画像1

次に、GameControllerの

inspectorのAdd componentをクリックして

Audio Source を追加してください。

画像2

適当にネットに落ちている

フリーのBGMをダウンロードして、ドラッグ&ドロップして

Assetの中に入れてください。

BGMは

ゲーム フリーBGM など

で適当に検索すれば出てきます。

画像3

追加できたら、

AudioSource 

AudioClip のにBGMをドラッグ&ドロップして追加すれば、

ゲームにBGMをつけることができました。


次に効果音をつけたいと思います。

ボールがオブジェクトがぶつかるたびに音がでるようにします。

ボールのInspectorに

BGMと同様にして

Addcomponent

AudioSourceを追加して、

AudioClipに効果音をドラッグ&ドロップします。

ただし、

Play on awake のチェックをはずします

これは最初から実行するという意味で、

チェックを外さないと起動と同時に音がなってしますからです。

画像4

ボールのスクリプトに

は何かオブジェクトにぶつかったときに

効果音を実行するという記述を追加します。


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

public class Ball : MonoBehaviour
{
   // Start is called before the first frame update
   
   //初速を入力値として準備します
       public float speed = 100;

   void Start()
   {
       //rigidbodyを取得
       Rigidbody rb = this.GetComponent<Rigidbody>();
       //力を設定
       Vector3 force = new Vector3(10.0f, 10.0f, 0.0f) * speed;
       //力を加える
       rb.AddForce(force);
   }

   private void OnCollisionEnter(Collision collision)
   {
       GetComponent<AudioSource>().Play();

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

GetComponent<AudioSource>().Play();

でAudioSourceを取得して、

実行できます。


いいなと思ったら応援しよう!