Comment Unity contrôle le volume du son (y compris la fonction muet)

Un : la production d'UGUI

1. Tout d'abord, créez le composant Slider dans l'interface utilisateur sous [Hiérarchie]. Définissez sa largeur et sa hauteur correspondantes.

b7a97e0944c746369ad0f9ad0640492e.png

 2. Ajustez la couleur de remplissage du curseur Curseur. La couleur générale du son est le jaune, nous l'accordons donc également au jaune.

a6ac7a900f6d479a8c98f417ea134add.png

Nous essayons de faire glisser la valeur à l'intérieur du Slider.

9c6a87d481064bb3affbfe3bae2bb0df.png

A. Avant de glisser.

ac1bba4e9b034fffb638a7908c844310.png

b. Faites glisser à mi-chemin.

 46a46cad5ab94f9c9607018048fe7c1d.png

c. Finissez de glisser.

 0b27484fa4db4a6582cfa33a97104396.png

 À partir de la valeur glissante ci-dessus, nous pouvons savoir que l'effet de remplissage est contrôlé par la valeur. La fabrication de la barre de sang est similaire, en fonction de son utilisation, nous fabriquons une barre de volume de contrôle coulissant, nous devons donc d'abord obtenir le son.

Trois : Créer un objet vide pour monter le son

Nous créons un objet vide nommé BGM, puis ajoutons le composant de source sonore AudioSource et ajoutons la taille du son qui doit être contrôlé dans le composant.

046c3c6373a04cf3b517fa4b7756b947.png

À ce stade, nous avons monté le son qui doit être contrôlé, puis nous créons un script pour réaliser que le volume du son change avec la valeur du composant Slider .

 Quatre : Implémentation du code pour contrôler le volume du son

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();
    }

}

Five : Retour au moteur Unity

1. Afin de pouvoir le voir clairement, nous avons fait plus détaillé ci-dessus, en ajoutant un texte pour afficher le niveau sonore.

Nous devons donc créer un texte texte dans Unity et définir la taille du texte texte.

71b4dfcb62934049858b0d8b166def3a.png

 2. Monter des composants et des objets

613aeb8693864ea7bfd86cbafd8f1ec5.png

 8e3f5456041547079dd954a8e19752ef.png

3. courir

A. Le son par défaut est de 0,6 

d3842fac90634f7c8aeb2f0fb0777a60.png

b. Faites glisser le composant Slider dans la scène du jeu, et la valeur de volume sonore correspondante changera en conséquence.

16d5ae9c30c546498c00cfa82ec611af.png

 Pour créer un contrôleur de son, nous devrions également avoir un bouton, cochez-le pour avoir un son, désactivez-le et le son disparaîtra. Ensuite, implémentons-le.

Six : Commutateur de contrôleur de son

1. Créer le composant Toggle

b33dd35b5b934c5f8c15e43b6f15ef03.png

 2. Ajoutez les composants correspondants au code

Après amélioration : voici le code global.

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. Monter l'objet tgoole et ajouter une méthode

9e50fd48feb34546b6139bb3fc89cdfa.png

3fa3cb43b6d14787b548f0867bb9855f.png

Sept : Diagramme des effets de l'opération

1 : exécution

3aeb4fc0b6d14a18a635e84b51575fdd.png

 2 : Après avoir cliqué sur le bouton bascule

aa466dcfc7a0463eb0c7edea1303b1fe.png

Ici, nous exécutons l'exploit afin que nous puissions voir que l'objet BGM est directement désactivé et qu'aucun son ne peut être entendu lors de l'exécution. 

Par conséquent, il a été réalisé de cocher pour activer le son, et de désactiver l'effet de décocher le son.

Une dernière chose à ajouter :   si nous avons besoin de continuer à jouer le son, nous pouvons cocher la boucle sur le composant AudioSource pour jouer en boucle. Après vérification, le son peut être joué en boucle. En règle générale, le son est essentiel dans le processus de production où nous utilisons Unity.


enfin

Les étapes ci-dessus représentent l'ensemble du processus de création du contrôleur de commutateur de son et du curseur de son pour contrôler le volume du son.

Amis qui l'ont vu, cliquez sur un bouton et trois fois. Votre soutien me motive davantage à créer et à partager. J'espère qu'il pourra toujours vous apporter des surprises et des gains.

2413988ad82470fe49997fa97ee1adf8.png
Trois d'affilée en un clic ! ! !

Je suppose que tu aimes

Origine blog.csdn.net/weixin_57813136/article/details/132327906
conseillé
Classement