public class AudioMgr : BaseManager<AudioMgr> {
private AudioSource bkMusic = null;
private float bkVolumn = 1f;
// 一个 soundObj 挂载了很多的AudioSource,要用的就添加,不用就删除
private GameObject soundObj = null;
private List<AudioSource> soundList = new List<AudioSource>();
private float soundVolume = 1f;
public AudioMgr() {
MonoMgr.GetInstance().AddUpdateListener(Update);
}
private void Update() {
for(int i = soundList.Count - 1; i >= 0; --i) {
if (!soundList[i].isPlaying) {
GameObject.Destroy(soundList[i]);
soundList.RemoveAt(i);
}
}
}
public void PlayBKMusic(string name) {
if (bkMusic == null) {
GameObject obj = new GameObject();
obj.name = "BKMusic";
bkMusic = obj.AddComponent<AudioSource>();
}
ResourceMgr.GetInstance().LoadAysnc<AudioClip>("Music/b
音效管理模块
最新推荐文章于 2024-09-07 17:46:05 发布
本文详细介绍了在Unity引擎中如何实现高效且灵活的音效管理模块,包括音效资源的组织方式、播放控制、音量调节和空间定位等功能,帮助开发者提升游戏音频体验。

最低0.47元/天 解锁文章
614

被折叠的 条评论
为什么被折叠?



