目次

066 シーンをまたいでBGMを再生し続ける

概要

BGM管理クラスを作成して、シーンが切り替わってもBGMを再生し続ける様にします。

ソースコード

シングルトンなBGM管理クラスを作成します。

using UnityEngine;
using System.Collections;
 
public class BGMManager : Singleton<BGMManager>
{
	public AudioClip bgmClip;
	private AudioSource bgmSource;
 
	protected override void Initialize()
	{
		bgmSource = gameObject.AddComponent<AudioSource>();
 
		bgmSource.clip = bgmClip;
		bgmSource.volume = 1.0f;
		bgmSource.loop = true;
		Play();
	}
 
	// 再生。
	public void Play()
	{
		bgmSource.Play();
	}
 
	// 停止。
	public void Stop()
	{
		bgmSource.Stop();
	}
 
	// 一時停止。
	public void Pause()
	{
		bgmSource.Pause();
	}
 
	// 音量設定。
	public void SetVolume( float _volume )
	{
		bgmSource.volume = _volume;
	}
}

これを空のGameObjectにアタッチします。 bgmClipには再生するBGMをアタッチしておきます。

使い方

再生したい個所で

BGMManager.Instance.Play();

とすればBGMが再生されます。