学习资源:B站 M_Studio
Unity Assets:Sunnyland
Day18
因为明天要外出一天,更新不了,今天先补一下。
1. 暂停菜单
其中,进度条使用Slider。
2. 控制游戏暂停
通过调整时间比例来设置游戏暂停。 代码如下:
public void PauseGame()
{
pauseMenu.SetActive(true);
Time.timeScale = 0f;
}
public void ReturnGame()
{
pauseMenu.SetActive(false);
Time.timeScale = 1f;
}
同理,如果要慢动作效果,可以将timeScale设置为0.5等小数。
3. 音量进度条
步骤
- 创建一个AudioMixer,设为bgm的output
- slider的值和mixer匹配
- 代码中编写一个函数来获取slider的value,赋给mixer的volume
- 将该函数添加至slider的on value change事件
创建一个Audio Mixer。
在window->audio->audio mixer中打开该界面
这里指的是现在的mixer可以看作主调音台。 在player中找到bgm,output设置为master。
将Slider的最大值和最小值设成和mixer匹配的值。 (-80 ~ 0) 要在代码中使用audio mixer,需要先引入
using UnityEngine.Audio;
小技巧: 默认情况下Audio Mixer内部的参数不能被修改,那么如何修改它的volume呢? 方法: 右键volume,选择 这里可以rename
public void SetVolume(float value)
{
audioMixer.SetFloat("MainVolume", value);
}
给slider添加该函数。 注意:这里的函数参数是内部参数,在这里使用时默认就是获取的slider的value值。所以要选择第一个函数。 至此,就可以实现用进度条控制音量了。
(如果还有遇到问题,比如找不到Dynamic float,可移步b站,up主给出了详细的解决方法。)
因为之前参加了某个赛事团队,后续可能会有开发APP的工作,因此接下来我除了unity的继续学习外,还会更一期开发Android应用的学习专栏。 敬请期待叭~ 那后天再会!
|