admin 管理员组文章数量: 1184232
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using UnityEngine.Audio;
/// <summary>
/// 音频管理器
/// </summary>
public class AudioManager : MonoBehaviour
{
public static AudioManager instance;
[SerializeField] private AudioSource[] sfx; //所有音效文件
[SerializeField] private AudioSource[] bgm; //所有背景音乐文件
[SerializeField] private AudioMixer audioMixer; //音频混合器(用于控制音效和背景音乐的音量)
public bool isPlayBGM; //是否播放背景音乐
private int bgmIndex; //背景音乐索引
private float volume=1; //默认初始音量为1
private void Awake()
{
if (instance != null)
Destroy(instance.gameObject);
else
instance = this;
}
private void Update()
{
if (!isPlayBGM)
StopBGM();
else
{
if (!bgm[bgmIndex].isPlaying)
PlayBGM(bgmIndex);
}
}
/// <summary>
/// 播放音效
/// </summary>
/// <param name="_sfxIndex">音效文件对应索引</param>
public void PlaySFX(int _sfxIndex)
{
if (sfx[_sfxIndex].isPlaying) //如果音效正在播放,那就不重复播放了
return;
}
/// <summary>
/// 停止播放音效
/// </summary>
/// <param name="_sfxIndex"></param>
public void StopSFX(int _sfxIndex)
{
sfx[_sfxIndex].Stop();
}
/版权声明:本文标题:声音掌控术:Unity AudioManager助力打造沉浸式游戏体验 内容由网友自发贡献,该文观点仅代表作者本人, 转载请联系作者并注明出处:http://www.roclinux.cn/p/1771178027a3541665.html, 本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容,一经查实,本站将立刻删除。
发表评论