Como o Unity controla o volume do som (incluindo a função mudo)

Um: produção UGUI

1. Primeiro, crie o componente Slider na IU em [Hierarquia]. Defina sua largura e altura correspondentes.

b7a97e0944c746369ad0f9ad0640492e.png

 2. Ajuste a cor de preenchimento do controle deslizante Slider. A cor geral do som é amarela, então também ajustamos para amarelo.

a6ac7a900f6d479a8c98f417ea134add.png

Tentamos deslizar o valor dentro do Slider.

9c6a87d481064bb3affbfe3bae2bb0df.png

a. Antes de deslizar.

ac1bba4e9b034fffb638a7908c844310.png

b. Deslize até a metade.

 46a46cad5ab94f9c9607018048fe7c1d.png

c. Termine de deslizar.

 0b27484fa4db4a6582cfa33a97104396.png

 A partir do valor deslizante acima, podemos saber que o efeito de preenchimento é controlado pelo valor. Fazer a barra de sangue é semelhante, dependendo do uso, fazemos uma barra de volume de controle deslizante, então precisamos obter o som primeiro.

Três: Crie um objeto vazio para montar o som

Criamos um objeto vazio chamado BGM, adicionamos o componente de fonte de som AudioSource e adicionamos o tamanho do som que precisa ser controlado no componente.

046c3c6373a04cf3b517fa4b7756b947.png

Neste ponto montamos o som que precisa ser controlado, e então criamos um script para perceber que o volume do som muda com o valor do componente Slider .

 Quatro: Implementação de código para controlar o volume do som

using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using UnityEngine.UI;

public class BGM : MonoBehaviour
{
    // Start is called before the first frame update

    //声音控制器
    public Slider AudioSlider;
    //声音控制器文本
    public Text AudioText;
    //音乐
    public AudioSource BGMsource;
    void Start()
    {
        //默认一开始声音为0.6
        AudioSlider.value = 0.6f;
    }
    //控制声音大小方法
    public void AudioCtrl()
    {
        //把value的值赋值给 BGMsource.volume 
        BGMsource.volume = AudioSlider.value;

        //文本显示当前声音大小
        AudioText.text = AudioSlider.value.ToString();
    }

}

Cinco: De volta ao motor Unity

1. Para poder vê-lo claramente, fizemos mais detalhes acima, adicionando um texto para exibir o nível de som.

Portanto, precisamos criar um texto Text no Unity e definir o tamanho do texto Text.

71b4dfcb62934049858b0d8b166def3a.png

 2. Monte componentes e objetos

613aeb8693864ea7bfd86cbafd8f1ec5.png

 8e3f5456041547079dd954a8e19752ef.png

3. correr

a. O som padrão é 0,6 

d3842fac90634f7c8aeb2f0fb0777a60.png

b. Deslize o componente Slider na cena do jogo e o valor do volume do som correspondente mudará de acordo.

16d5ae9c30c546498c00cfa82ec611af.png

 Para fazer um controlador de som, também devemos ter um botão, marque-o para ter um som, desative-o e o som desaparecerá. Em seguida, vamos implementá-lo.

Seis: Interruptor do controlador de som

1. Crie o componente Alternar

b33dd35b5b934c5f8c15e43b6f15ef03.png

 2. Adicione os componentes correspondentes ao código

Após a melhoria: o seguinte é o código geral.

using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using UnityEngine.UI;

public class BGM : MonoBehaviour
{
    // Start is called before the first frame update

    //声音控制器
    public Slider AudioSlider;
    //声音控制器文本
    public Text AudioText;
    //声音开关
    public Toggle AudioSwitchToggle;
    //音乐
    public AudioSource BGMsource;
    void Start()
    {
        //默认一开始声音为0.6
        AudioSlider.value = 0.6f;
    }
    //控制声音大小方法
    public void AudioCtrl()
    {
        //把value的值赋值给 BGMsource.volume 
        BGMsource.volume = AudioSlider.value;

        //文本显示当前声音大小
        AudioText.text = AudioSlider.value.ToString();
    }
    //控制声音开关
    public void AudioSwitchToggleCtrl()
    {
        //如果声音控制按钮勾选了,那么我们就有声音
        if (AudioSwitchToggle.isOn)
        {
            //激活声音对象为自动播放
            BGMsource.gameObject.SetActive(true);
            //调用移动滑块控制声音大小
            AudioCtrl();
        }
        else
        {
            //关闭声音对象
            BGMsource.gameObject.SetActive(false);
        }
    }
}

3. Monte o objeto tgoole e adicione o método

9e50fd48feb34546b6139bb3fc89cdfa.png

3fa3cb43b6d14787b548f0867bb9855f.png

Sete: Diagrama de efeito de operação

1: tempo de execução

3aeb4fc0b6d14a18a635e84b51575fdd.png

 2: Depois de clicar no botão de alternância

aa466dcfc7a0463eb0c7edea1303b1fe.png

Aqui, executamos o exploit para que possamos ver que o objeto BGM está desabilitado diretamente e nenhum som pode ser ouvido durante a execução. 

Portanto, foi realizado verificar para ligar o som e desativar o efeito de desmarcar o som.

Mais uma coisa a acrescentar:   Se precisarmos manter o som tocando, podemos verificar o Loop no componente AudioSource para tocar em loop.Após a verificação, o som pode ser reproduzido em loop. Geralmente, o som é essencial no processo de produção de nós usando o Unity.


afinal

As etapas acima são todo o processo de fazer o controlador de chave de som e o controle deslizante de som para controlar o volume do som.

Amigos que já viram, cliquem três vezes com um botão. Seu apoio me deixa mais motivado a criar e compartilhar. Espero que sempre traga surpresas e ganhos.

2413988ad82470fe49997fa97ee1adf8.png
Três seguidos com um clique! ! !

Acho que você gosta

Origin blog.csdn.net/weixin_57813136/article/details/132327906
Recomendado
Clasificación