From b01151f932f8faa041a8facfb03059147170f40c Mon Sep 17 00:00:00 2001 From: liuzhiwei <liuzhiwei@qq.com> Date: Wed, 09 Dec 2020 10:16:24 +0800 Subject: [PATCH] Merge branch 'master' of http://172.16.1.52:8090/r/GemBattle into master --- Assets/Scripts/Music/AudioSourceManager.cs | 94 ++++++++++++++++++++++++++++++++++++++++++++-- 1 files changed, 89 insertions(+), 5 deletions(-) diff --git a/Assets/Scripts/Music/AudioSourceManager.cs b/Assets/Scripts/Music/AudioSourceManager.cs index 3612798..c17d5f0 100644 --- a/Assets/Scripts/Music/AudioSourceManager.cs +++ b/Assets/Scripts/Music/AudioSourceManager.cs @@ -1,4 +1,5 @@ -using System.Collections; +using System.Security.Cryptography.X509Certificates; +using System.Collections; using System.Collections.Generic; using UnityEngine; @@ -19,7 +20,13 @@ WaterTAttack,//水攻击 WoodTAttack,//木攻击 LightningSkill,//电技能 - FireSkill//火技能 + FireSkill,//火技能 + FinalScore,//结算分数滚动效果 + BossWaterSkill,//气泡 + WaterTowerSkill,//冰淇淋技能 + WoodSkill,//玉米狙击子弹 + Upgrade,//合成 + } public class AudioSourceManager : MonoBehaviour { @@ -65,7 +72,7 @@ return tmpAudioSource; } - private AudioClip LoadAudioClip(string musicName) + public AudioClip LoadAudioClip(string musicName) { if (clipDic.ContainsKey(musicName)) return clipDic[musicName]; @@ -75,7 +82,6 @@ clipDic.Add(musicName, au); return au; } - } public void Play(AudioEnum en) @@ -130,10 +136,31 @@ Play("电技能", true); break; case AudioEnum.FireSkill: - Play("火技能", true); + Debug.Log("火焰喷射"); + + Play("火焰喷射", true); break; + case AudioEnum.FinalScore: + Debug.Log("结算分数"); + Play("结算分数", true); + break; + case AudioEnum.BossWaterSkill: + //Play("气泡", true); + PlayBossWaterSkill("气泡"); + break; + case AudioEnum.WaterTowerSkill: + Play("冰淇淋技能", true); + break; + case AudioEnum.WoodSkill: + Play("玉米狙击子弹", true); + break; + case AudioEnum.Upgrade: + Debug.Log("合成"); + + Play("合成", true); + break; } } @@ -166,6 +193,63 @@ tmpAudioSource.volume = volume; } + AudioSource bossWaterSkillAS; + /// <summary> + /// BOSS气泡技能 38秒钟,所以不用循环播放 + /// </summary> + /// <param name="musicName"></param> + /// <param name="volume"></param> + private void PlayBossWaterSkill(string musicName, float volume = 1.0f) + { + Debug.Log("BOSS气泡技能 38秒钟,所以不用循环播放"); + + AudioClip au = LoadAudioClip(musicName); + bossWaterSkillAS = GetAudioSource(); + bossWaterSkillAS.clip = au; + bossWaterSkillAS.loop = false; + + bossWaterSkillAS.Play(); + bossWaterSkillAS.volume = volume; + } + + /// <summary> + /// BOSS气泡技能结束 + /// </summary> + public void StopBossWaterSkill() + { + Debug.Log("BOSS气泡技能结束"); + if (bossWaterSkillAS != null) + { + bossWaterSkillAS.Stop(); + bossWaterSkillAS.clip = null; + if (audioSourceList.Count > 5) + { + audioSourceList.Remove(bossWaterSkillAS); + Destroy(bossWaterSkillAS); + bossWaterSkillAS = null; + } + } + } + + /// <summary> + /// 暂停背景音乐 + /// </summary> + public void StopBGAudio() + { + if (!audioSourceList[0].isPlaying) + audioSourceList[0].Stop(); + } + + /// <summary> + /// 继续背景音乐 + /// </summary> + public void RestartBGAudio() + { + if (!audioSourceList[0].isPlaying) + audioSourceList[0].Play(); + } + + /// <summary> /// 销毁音效 /// </summary> -- Gitblit v1.9.1