找回密码
 立即注册
查看: 311|回复: 0

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

[复制链接]
发表于 2022-1-10 20:47 | 显示全部楼层 |阅读模式
https://www.bilibili.com/video/BV1aJ411M7dA?spm_id_from=333.999.0.0
先新建暂停按钮和暂停菜单,如下


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

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


打开AudioMixer菜单


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


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


因此,选中slider如下设置


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


接下来将sliderBar和auidoMixer的值挂钩:
新建一个函数SetVolume
  1.     public void SetVolume(float value)
  2.     {
  3.         audioMixer.SetFloat("MainVolume",value);
  4.             //内部临时变量的学习https://www.bilibili.com/video/BV1B4411C7G8
  5.     }
复制代码
内部临时变量的学习https://www.bilibili.com/video/BV1B4411C7G8

Audiomixer是不能挂脚本的,调用数值的方法:将数值导出到脚本


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


这是改完的效果=》




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


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


这里拖动音量SliderBar一开始很猛后面就没效果了,弹幕说:
声音的音量是指数变化的,所以会出现这个问题,需要自行找教程解决

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?立即注册

×
懒得打字嘛,点击右侧快捷回复 【右侧内容,后台自定义】
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Unity开发者联盟 ( 粤ICP备20003399号 )

GMT+8, 2025-5-14 19:07 , Processed in 0.138258 second(s), 26 queries .

Powered by Discuz! X3.5 Licensed

© 2001-2025 Discuz! Team.

快速回复 返回顶部 返回列表