Ylisar 发表于 2022-1-10 20:47

Unity教程2D入门:26 暂停菜单 AudioMixer

https://www.bilibili.com/video/BV1aJ411M7dA?spm_id_from=333.999.0.0
先新建暂停按钮和暂停菜单,如下


给上节课Menu脚本添加下面函数,进行脚本复用
    public void PauseGame()
    {
      pauseMenu.SetActive(true);//激活暂停的菜单
      Time.timeScale = 0f;//暂停游戏时间
    }
    public void ResumeGame()
    {
      pauseMenu.SetActive(false);
      Time.timeScale = 1f;
    }调用方式上节课最后有讲,忘了回去看;
Part2,实现音量的调用09:06

先新建一个Audio Mixer,改名为MainMixer


打开AudioMixer菜单


选中Player里存放背景音的AudioSource中的output,选择master


知识点,音量0dB为正常值,-80dB为无声


因此,选中slider如下设置


使用AudioMixer需要调用Audio库
using UnityEngine.Audio;顺便创建一个公共的变量
public class Menu : MonoBehaviour
{
    public AudioMixer audioMixer;
}然后指定该mixer


接下来将sliderBar和auidoMixer的值挂钩:
新建一个函数SetVolume
    public void SetVolume(float value)
    {
      audioMixer.SetFloat("MainVolume",value);
            //内部临时变量的学习https://www.bilibili.com/video/BV1B4411C7G8
    }内部临时变量的学习https://www.bilibili.com/video/BV1B4411C7G8
Audiomixer是不能挂脚本的,调用数值的方法:将数值导出到脚本


当我输出Volume后AudioMixer面板会多出一个值,改名为MainVolume


这是改完的效果=》




下面记得选择Dynamic float,为内部数值


OK~~~~~~~~~~
如果想让其他音效也被这个Mixer作用
把AudioSource下的Output改为改mixer就ok啦~~~


这里拖动音量SliderBar一开始很猛后面就没效果了,弹幕说:
声音的音量是指数变化的,所以会出现这个问题,需要自行找教程解决
页: [1]
查看完整版本: Unity教程2D入门:26 暂停菜单 AudioMixer