首页 > 编程知识 正文

网易云音乐音效,网易云音乐设备管理

时间:2023-05-06 09:46:42 阅读:222181 作者:3043

本文转载自:http://blog.csdn.net/microsoftMSDNNET/article/details/47273239


在实战项目中,音乐音效的好坏肯定是一个玩家对此项目评定的一个因素之一。所以,有必要对音乐音效做出一个统一的管理。

首先,我把几个音效放到了Resouces的Audios文件夹下,方便动态加载。

 
之后,利用一个非常简单的单例,建了一个空物体当做管理音乐的gameObject,将音乐音效统一管理起来,代码如下:

public class SoundManager:MonoBehaviour { //------------------------------// /// <summary> /// 单例模式 /// </summary> public static readonly SoundManager instance=new SoundManager (); private SoundManager () { } //------------------------------// /// <summary> /// 将声音放入字典中,方便管理 /// </summary> private Dictionary<string, AudioClip> _soundDictionary; private AudioSource [] audioSources; private AudioSource bgAudioSource; private AudioSource audioSourceEffect; void Awake() { instance = this; _soundDictionary = new Dictionary<string, AudioClip> (); //本地加载 AudioClip [] audioArray = Resources.LoadAll<AudioClip> ("AudioCilp"); audioSources = GetComponents<AudioSource> (); bgAudioSource = audioSources [0]; audioSourceEffect = audioSources [1]; //存放到字典 foreach (AudioClip item in audioArray) { _soundDictionary.Add(item.name,item); } } //播放背景音乐 public void PlayBGaudio(string audioName) { if (_soundDictionary.ContainsKey(audioName)) { bgAudioSource.clip=_soundDictionary[audioName]; bgAudioSource.Play(); } } //播放音效 public void PlayAudioEffect(string audioEffectName) { if (_soundDictionary.ContainsKey(audioEffectName)) { audioSourceEffect.clip=_soundDictionary[audioEffectName]; audioSourceEffect.Play(); } }} 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263

音效是一直在场景中不消失的,所以要保证切换场景的时候资源不会删除。

//=============================================// static bool isHaveAudio=false ; public GameObject tempGameObject; //=============================================// //不销毁音效 void Start() { if (!isHaveAudio) { tempGameObject=Instantiate(Resources.Load("SoundManage"))as GameObject; isHaveAudio=true ; } DontDestroyOnLoad (tempGameObject); } 1234567891011121314

使用:先执行加载预设(Start())脚本。 
SoundManage是个预设,预设绑定SoundManager.cs脚本。


win7系统出现电脑蓝屏如何解决

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。