Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/264.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 如何在unity c中永久禁用当前场景#_C#_Audio_Unity3d - Fatal编程技术网

C# 如何在unity c中永久禁用当前场景#

C# 如何在unity c中永久禁用当前场景#,c#,audio,unity3d,C#,Audio,Unity3d,打开/关闭静音音量,这是我的功能: public void Mm(bool vv) { if (vv) { AudioListener.volume = 0; } else { AudioListener.volume = 1; } } 这一切都很好,但问题是:当我静音并去另一个场景时,当再次回到这个场景时音

打开/关闭静音音量,这是我的功能:

public    void Mm(bool vv)
     {
         if (vv)
         {
             AudioListener.volume = 0;
         }
         else 
         {
             AudioListener.volume = 1;
         }
     }

这一切都很好,但问题是:当我静音并去另一个场景时,当再次回到这个场景时音量并没有静音

创建一个如下所示的
SoundManager
脚本,并将其放置在当前场景中:

public class SoundManager : MonoBehaviour
{
    void OnEnable()
    {
        AudioListener.volume = PlayerPrefs.GetFloat("volume",0);
    }

    void OnDisable()
    {
        AudioListener.volume = 1;
    }

    public void Mute(bool vv)
    {
        if (vv)
        {
            AudioListener.volume = 0;
        }
        else 
        {
            AudioListener.volume = 1;
        }
        PlayerPrefs.SetFloat("volume",AudioListener.volume);
        PlayerPrefs.Save()
    }
}

在您的切换的值更改事件上注册
Mute()
方法。所以这就像我的方式一样。我仍然对你的方式有意见。所以我静音,没关系,但当我去另一个场景。那一幕使我哑口无言。我只想让这气味静音,没什么用!就这样。仍然存在这个问题:(这实际上是一个很好的解决方案。请记住使用
PlayerPrefs.Save()
保存音量浮动。@erfan如何在场景之间切换?