unity3D存储音乐的开关状态17

存储背景音乐开关的状态

using System.Collections;
using System.Collections.Generic;
using UnityEngine;
//2.获得UI
using UnityEngine.UI;

public class UIManager : MonoBehaviour
{
    //6.调用 
    public static UIManager _instance;
    //1.获得UItext
    public Text shootNumText;
    public Text scoreText;

    //4.初始化
    public int shootNum = 0;
    public int score = 0;

    //7.得到背景音乐选框
    public Toggle musicToggle;
    public AudioSource musicAudio;
    private bool musicOn = true;

//6.调用
private void Awake()
{
    _instance = this;
}

//5.在update中实时更新数据
private void Update()
    {
        shootNumText.text = shootNum.ToString();
        scoreText.text = score.ToString();
     
    }
    //7.音乐开关
    public void MusicSwitch()
    {
        if (musicToggle.isOn == false)
        {
            musicOn = false;
            musicAudio.enabled=false;
        }
        else{
            musicOn = true;
            musicAudio.enabled=true;
        }
    }
    //3.方法
    public void AddShootNum()
    {
        shootNum += 1;
    }
    public void AddScore()
    {
        score += 1;
    }

}

注册事件

image
image

using System.Collections;
using System.Collections.Generic;
using UnityEngine;
//2.获得UI
using UnityEngine.UI;

public class UIManager : MonoBehaviour
{
    //6.调用 
    public static UIManager _instance;
    //1.获得UItext
    public Text shootNumText;
    public Text scoreText;

    //4.初始化
    public int shootNum = 0;
    public int score = 0;

    //7.得到背景音乐选框
    public Toggle musicToggle;
    public AudioSource musicAudio;

//6.调用
private void Awake()
{
    _instance = this;
        if (PlayerPrefs.HasKey("MusicOn"))
        {
            if (PlayerPrefs.GetInt("MusicOn") == 1)
            {
                musicAudio.enabled = true;
            }
            else
            {
                musicAudio.enabled = false;
            }
        }
        else
        {
            musicAudio.enabled = true;
        }
}

//5.在update中实时更新数据
private void Update()
    {
        shootNumText.text = shootNum.ToString();
        scoreText.text = score.ToString();
     
    }
    //7.音乐开关
    public void MusicSwitch()
    {
        if (musicToggle.isOn == false)
        {
            musicAudio.enabled=false;
            //保存音乐开关的状态,0代表关闭
            PlayerPrefs.SetInt("MusicOn", 0); 
        }
        else{
            musicAudio.enabled=true;
            PlayerPrefs.SetInt("MusicOn", 1);

        }
            PlayerPrefs.Save();
    }
    //3.方法
    public void AddShootNum()
    {
        shootNum += 1;
    }
    public void AddScore()
    {
        score += 1;
    }

}
posted @ 2023-03-05 20:34  flyall  阅读(21)  评论(0)    收藏  举报