【背景】
游戏的设置列表中,调整游戏声音大小的选项是必备的,如何实现拖动滚动条后音量相应改变大小呢?这里介绍一下相关的脚本和步骤
【脚本和步骤】
首先,新建一个调整音量的脚本,名叫SetVolume,把预置的Update方法和Start方法删除。
然后,这个脚本需要挂载在滚动元素的Slider组件下。这个Slider组件是一个预置的UnityScript组件,如果没有,直接在element的Inspector里添加即可。
这个Script组件下有一个OnValueChanged事件,给这个事件加关联动作,然后把上面的脚本挂载进去。
注意一下这个预置脚本的一些设置:
MinValue设置为-80
MaxValue设置为0
方向一般默认为lefttoright
还要在Project中添加一个AudioMixer模块,具体实现音量调整就是通过我们写的脚本来控制这个AudioMixer模块实现。
为了使得我们自己的脚本能够控制这个对象,需要把这个对象的音量参数Expose给全域,这可以通过右上角的暴露参数功能做到:
好了,对象准备齐全,可以补全脚本了:
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using UnityEngine.Audio;
public class SetVolumn : MonoBehaviour
{
public AudioMixer audioMixer;
public void SetVolume(float volume)
{
audioMixer.SetFloat("volume", volume);
}
}
这里引入了一个公共变量audioMixer,需要和我们在Project里建造的mixer关联,方法就是把Project里创建的Mixer对象直接拖到脚本的Inspector界面的相应变量位置里即可。