unity 游戏音量整体的控制和开关

分类: unity3d |
我们先看一张图
http://s4/mw690/005N7Rnmzy7e33GUz2b53&690游戏音量整体的控制和开关" TITLE="unity
在unity 中,播放音乐可以使用 Audio Source ,
而其,带有 一个属性, Volume,
于是,上一个项目中,当游戏设置音量后,我会用那个值,
来设置 这个变量 ,让其也跟着变化,
但是,这样做,需要记录游戏中,当前用到了哪些Audio Source,
又多,又麻烦,
上一个项有一个比较奇葩的设定,游戏中,回到设置界面,游戏中还要运行,
而那时,里面的音乐还要播放,但是,音量要降低,同时,有些音效要播,有些音效不播,
对于这种不合理的设定,我之前用Audio Source一个个修改也是没办法的事,
那么,有没有一个总控制器,
能控制游戏中,所有的音量呢?
就像
http://s7/mw690/005N7Rnmzy7e34bfUHAe6&690游戏音量整体的控制和开关" TITLE="unity
一样,这样的话,每个 Audio Source的 volume全都是默认 1,
也不用关心游戏当前音量是多少,是否关闭,
所有的,都用一个来整体控制,这样方便太多了。
事实上是有的,
http://s16/mw690/005N7Rnmzy7e34mXsLBbf&690游戏音量整体的控制和开关" TITLE="unity
实际测试后,竟然一句话就解决了问题,
AudioListener.volume
最大音量是 1 , 可以理解为 100% .
这个地方也是挺有意思的,
我原本是想 获取 AudioListener对象,
然后让其 .enable = false 来关闭所有音乐,
结果在网上查到了这个方法.
实际测试后,是可以的。