AudioListener组件
用来接收音效
AudioSource组件
用来播放音效 PlayOnAwake:在组件Awake时播放声音 Loop:循环播放音效 PlayClipAtPoint()静态方法,在一个世界坐标的点上进行播放音乐
代码语言:javascript复制AudioSource.PlayClipAtPoint(_clip,new Vector3(0,0,0))
PlayerOneShot()方法,在一个AudioSource中插播一段短的Clip
代码语言:javascript复制void Start ()
{
audioSource = gameObject.GetComponent<AudioSource>();
}
void jumpClipPlay()
{
audioSource.PlayOneShot(jumpClip, 10f);
}
声音管理类: 单例模式(Mono中与C#中的单例有区别)
代码语言:javascript复制AudioSource audioSource;
//单例保证AudioManager的唯一性
private static AudioManager instance;
public static AudioManager Instance
{
get
{
if(instance == null) {
//在找的时候构造出来一个Object
GameObject go = new GameObject("audioManager");
go.AddComponent<AudioManager>();
}
return instance;
}
}
//禁止外接通过new的方式获取该类
private AudioManager() { }
private void Awake()
{
if (instance == null)
instance = this;
}
用枚举来实现多个音效 播放指定音效