当前位置:网站首页>音乐播放(Toggle && PlayerPrefs)

音乐播放(Toggle && PlayerPrefs)

2022-07-06 09:18:00 SQ刘

Toggle控制音乐播放,并利用PlayerPrefs保存上次是否勾选时的记录

1、新建工程。
2、拖入事先准备好的音乐(只要是音乐都行)。
3、随便添加一个物体(我这里以Cube为例),给它添加Audio Source组件,在AudioClip中拖入音乐素材,勾选上Play On Awake和Loop,如下图所示。
在这里插入图片描述
4、添加UI | Panel,并在Panel下面添加Toggle单选框,如下图所示。
在这里插入图片描述
5、添加Music脚本。

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

public class Music : MonoBehaviour
{
    
    public Toggle musicToggle;
    public AudioSource musicAudio;
    private void Awake()
    {
    
        if (PlayerPrefs.HasKey("MusicOn"))
        {
    
            if (PlayerPrefs.GetInt("MusicOn") == 1)
            {
    
                musicToggle.isOn = true;
                musicAudio.enabled = true;
            }
            else
            {
    
                musicToggle.isOn = false;
                musicAudio.enabled = false;
            }
        }
        else
        {
    
            musicToggle.isOn = true;
            musicAudio.enabled = true;
        }
    }
    public void MusicSwitch()
    {
    
        //通过判断单选框是否被勾选上,从而来决定是否播放背景音乐
        if (musicToggle.isOn == false)
        {
    
            musicAudio.enabled = false;
            //保存音乐开关的状态,0代表关闭,1代表开启
            PlayerPrefs.SetInt("MusicOn", 0);
        }
        else
        {
    
            musicAudio.enabled = true;
            PlayerPrefs.SetInt("MusicOn", 1);
        }
        PlayerPrefs.Save();  //保存上次是否勾选时的记录
    }
}

6、回到Unity3D,拖入Music Toggle 和 Music Audio。
在这里插入图片描述
7、给开关注册事件。
在这里插入图片描述
8、完成。

原网站

版权声明
本文为[SQ刘]所创,转载请带上原文链接,感谢
https://blog.csdn.net/qq_46649692/article/details/116450822