2D游戏入门——小狐狸系列(二十六)添加暂停菜单

Session26:暂停菜单 & AudioMixer

本节课我们来添加一个暂停菜单

创建菜单

首先添加暂停的按钮,操作比较简单,无需赘述

然后添加暂停菜单,菜单需要背景和按钮,所以新建一个Panel,并在其下建立几个Button和一个Slider(滑动条)

操作比较简单,自己选择喜欢的效果就完事了,完成后的效果:

image-20211106133900460

然后就是按钮的逻辑部分,我们直接在Menu这个类中去添加函数,这样以后所有跟Menu有关的Button都可以用这个脚本。

	public void PauseGame()
    {
        pauseMenu.SetActive(true);
    }

    public void ResumeGame()
    {
        pauseMenu.SetActive(false);
    }

然后把Menu挂到Canvas上,选择Pause Menu为刚才创建的暂停菜单

image-20211107104153571

并给按钮选择On Click() event

image-20211107103956264

这样就可以实现暂停菜单的出现和消失了,但是暂停时游戏并没有跟着暂停,我们可以继续添加:

	public void PauseGame()
    {
        pauseMenu.SetActive(true);
        Time.timeScale = 0f;
    }

    public void ResumeGame()
    {
        pauseMenu.SetActive(false);
        Time.timeScale = 1f;
    }	

通过修改timeScale可以实现控制游戏速度的效果,如果以后想要实现慢动作的效果就可以使用它。

AudioMixer

因为想要通过暂停菜单的Slider来控制游戏bgm的音量,所以我们需要学习一下AudioMixer。

先在Assets下创建一个Audio Mixer,叫做MainMixer,作为我们的主控制器。

然后打开Window -> Audio -> Audio Mixer,可以看到一个设置界面

image-20211107104824546

有了Audio Mixer之后,我们就可以将Audio Source输出到这里,通过上面的Master就可以修改音量。

image-20211107110553123

然后我们要实现Slider和Audio Mixer的音量绑定

我们可以选择一个轨道,将它的Volume暴露到脚本

image-20211107110804244

就可以在脚本中编辑这个参数了:

	public AudioMixer audioMixer;

	public void SetVolume(float value)
    {
        audioMixer.SetFloat("MainVolume", value);
    }

回到Unity,把组件挂上去:

image-20211107113220310

为Slider选择value changed触发函数:

image-20211107113634799

哦对了别忘了调整Slider的value范围和Main Mixer的范围一致

image-20211107113920846

进入游戏,调整Slider,就可以实现控制音量的效果了

Audio Mixer

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值