unity——Prejct3——背景音乐

embedded/2025/1/19 13:50:43/

1.音乐数据结构类

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.数据管理类

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.真实背景音乐类

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 updatevoid 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;}
}


http://www.ppmy.cn/embedded/155234.html

相关文章

LabVIEW与WPS文件格式的兼容性

LabVIEW 本身并不原生支持将文件直接保存为 WPS 格式&#xff08;如 WPS 文档或表格&#xff09;。然而&#xff0c;可以通过几种间接的方式实现这一目标&#xff0c;确保您能将 LabVIEW 中的数据或报告转换为 WPS 可兼容的格式。以下是几种常见的解决方案&#xff1a; ​ 导出…

解决Element Plus el-date-picker组件清空时,触发两次change的问题

问题 el-date-picker 组件在选择日期范围时会触发两次 change 事件。当用户选择了范围的开始时&#xff0c;会立即触发一次 change 事件。而当用户选择了范围的结束时&#xff0c;又会触发一次 change 事件。 解决方法 1. 延迟更新 <template><div>选择日期--{…

LeetCode 热题 100 | 矩阵

矩阵基础 使用哈希数组来标记当前行或者列是否出现0按层模拟旋转90度可以先水平翻&#xff0c;然后再对角线翻 73. 矩阵置零 题目讲解&#xff1a;LeetCode 重点&#xff1a; 使用标记数组&#xff1a;用两个标记数组分别记录每一行和每一列是否有零出现。使用两个标记变量&…

Kaggle欺诈检测:使用生成对抗网络(GAN)解决正负样本极度不平衡问题

### Kaggle欺诈检测&#xff1a;使用生成对抗网络&#xff08;GAN&#xff09;解决正负样本极度不平衡问题 #### 引言 在金融领域中&#xff0c;欺诈检测是一项至关重要的任务。然而&#xff0c;欺诈交易数据往往呈现出正负样本极度不平衡的特点&#xff0c;这给机器学习模型…

leetcode 407. 接雨水 II

题目&#xff1a;407. 接雨水 II - 力扣&#xff08;LeetCode&#xff09; 堆bfs。 模拟水流出去的过程。先把边缘的单元都加到堆里&#xff0c;从堆顶最小的单元开始bfs&#xff0c;遍历到的单元的四周&#xff0c;都会从该单元流出去&#xff0c;四周的单元的剩余水量高度m…

【RK3588嵌入式图形编程】-SDL2-创建应用窗口

创建应用窗口 文章目录 创建应用窗口1、认识SDL及安装1.1 什么是SDL1.2 SDL安装2、应用程序准备3、应用程序实现3.1 创建窗口3.2 Window类3.3 Surface3.4 SDL_FillRect3.5 颜色和SDL_MapRGB()3.6 SDL_UpdateWindowSurface3.7 SDL_DestroyWindow()3.8 main函数4、总结SDL2是一个…

业务架构、数据架构、应用架构和技术架构

TOGAF(The Open Group Architecture Framework)是一个广泛应用的企业架构框架&#xff0c;旨在帮助组织高效地进行架构设计和管理。 TOGAF 的核心就是由我们熟知的四大架构领域组成:业务架构、数据架构、应用架构和技术架构。 企业数字化架构设计中的最常见要素是4A 架构。 4…

stm32控制直流电机程序

在STM32微控制器上控制直流电机通常涉及使用PWM&#xff08;脉宽调制&#xff09;信号来调节电机的速度&#xff0c;并通过GPIO&#xff08;通用输入输出&#xff09;端口来控制电机的启动、停止和方向。以下是一个简化的STM32控制直流电机的程序示例&#xff0c;该程序使用STM…