unity——Prejct3——背景音乐

1.音乐数据结构类

cs 复制代码
using System.Collections;
using System.Collections.Generic;
using UnityEngine;

//音乐数据结构类
public class MusicData 
{
    //背景音乐 音效 开关
    public bool musicOpen = true;
    public bool soundOpen = true;

    //背景音乐 音效 大小
    public float musicValue = 0.2f;
    public float soundValue = 0.2f;
}

2.数据管理类

cs 复制代码
using System.Collections;
using System.Collections.Generic;
using UnityEngine;

// 数据管理类
public class GameDataMgr
{
    private static GameDataMgr instance = new GameDataMgr();

    public static GameDataMgr Instance => instance;

    //音乐 音效 相关数据
    public MusicData musicData;

    private GameDataMgr()
    {
        //初始化默认数据 如果第一次进入游戏 Json会直接默认数据
        musicData = JsonMgr.Instance.LoadData<MusicData>("MusicData");
    }

    /// <summary>
    /// 存储音乐 音效数据
    /// </summary>
    public void SaveMusicData()
    {
        JsonMgr.Instance.SaveData(musicData, "MusicData");
    }
}

3.真实背景音乐类

cs 复制代码
using System.Collections;
using System.Collections.Generic;
using UnityEngine;

public class BKMusic : MonoBehaviour
{
    private static BKMusic instance;
    public static BKMusic Instance => instance;

    private AudioSource bkSource;

    // Start is called before the first frame update
    void Awake()
    {
        instance = this;
        bkSource = this.GetComponent<AudioSource>();

        //通过真正的音乐数据来设置背景音乐的数据
        MusicData data = JsonMgr.Instance.LoadData<MusicData>("MusicData");

        SetIsOpen(data.musicOpen);
        ChangeValue(data.musicValue);
    }

    //开关背景音乐
    public void SetIsOpen(bool isOpen)
    {
        bkSource.mute = !isOpen;
    }

    //调整背景音乐大小
    public void ChangeValue(float v)
    {
        bkSource.volume = v;
    }
}
相关推荐
文丑颜不良啊5 分钟前
LeetCode1941~1960题目解析
java·leetcode
txxzjmzlh31 分钟前
SpringBoot 统⼀功能处理
java·spring boot·后端
nice_lcj5202 小时前
Java Lambda 表达式入门:怎么写、怎么用、常用方法有哪些
java·开发语言·后端·面试
码农小河663 小时前
基于SSM+JSP+MySQL的在线医疗服务系统的设计与实现
java·开发语言·mysql
SL_staff4 小时前
从配置失效到逻辑复用:JVS-Logic 如何构建可治理的业务编排中枢
java·spring·产品
特立独行的猫A4 小时前
一份 Markdown 发十个平台:cspub 一稿多投
java·后端·python
文丑颜不良啊5 小时前
LeetCode1961~1980题目解析
java·leetcode
文丑颜不良啊5 小时前
LeetCode2001~2020题目解析
java·leetcode
用户3721574261355 小时前
Java 批量提取 Word 文档中的图片并保存到本地
java
SL_staff6 小时前
BI项目失败率90%?JVS如何用三阶闭环构建可落地的数据生产力平台
java·开源·全栈