*敵ボスが登場した時などにBGMを切り替える方法
今回は「敵ボスが登場するステージ(場所)に触れたらBGMが切り替わる」というものを実現してみます。
1)スクリプトの作成
・「BgmChange」という名前の「C#スクリプト」を1つ作成してください。
・下記のコードを中に書いてみましょう。
using UnityEngine; using System.Collections; public class BgmChange : MonoBehaviour { // 新しいBGM(背景音)を入れるための箱を作る。 public AudioClip bgm; // 音を再生する機能(コンポーネント)を入れるための箱を作る。 private AudioSource audiosource; void Start(){ // メインカメラ(Main Camera)に付いてる音を再生する機能を箱の中に入れる。 audiosource = GameObject.Find("Main Camera").GetComponent<AudioSource>(); } void OnCollisionEnter(Collision other){ if(other.gameObject.CompareTag("Player")){ // 新しい音(BGM)をセットする。 audiosource.clip = bgm; // セットした音(BGM)を再生する。 audiosource.Play(); } } }
2)Unityの設定
・スクリプトのチェックが完了したら、敵ボスが登場するステージにドラッグ&ドロップでつける。
・新しい音(BGM)をドラッグ&ドロップでセットする。(事前にインポートしておきましょう。)
これで完成です。
ゲームを再生して敵ボスがいるステージに触れてみましょう。
触れた瞬間にBGMが切り替われば成功です。
(ここがポイント)
切り替わらない人は、自分が操作するプレーヤーに「Player」という名前のタグ(Tag)がついているか確認しましょう。