Unity中音乐操作
一、目的
1、想知道:Unity中音乐操作
二、参考
1、
三、操作
1、MyAudio.cs
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using UnityEngine.Audio;/// <summary>
/// 目的:背景音乐、按钮音乐的操作
/// </summary>
public class MyAudio : MonoBehaviour
{/// <summary>AudioSource:背景音乐</summary>[Tooltip("AudioSource:背景音乐")][Header("AudioSource:背景音乐")]public AudioSource as_bgm;/// <summary>AudioSource:鼠标点击音乐</summary>[Tooltip("AudioSource:鼠标点击音乐")][Header("AudioSource:鼠标点击音乐")]public AudioSource as_mouseClick;/// <summary>AudioClip:背景音乐</summary>[Tooltip("AudioClip:背景音乐")][Header("AudioClip:背景音乐")]public AudioClip ac_bgm;/// <summary>AudioClip:鼠标点击音乐</summary>[Tooltip("AudioClip:鼠标点击音乐")][Header("AudioClip:鼠标点击音乐")]public AudioClip ac_mouseClick;/// <summary>/// 目的:MyAudio 单例/// </summary>[HideInInspector]public static MyAudio instance_myAudio;void Awake(){instance_myAudio = this;}// Use this for initializationvoid Start(){SetAudio(EM_SetAudio_audioKinds.BGM, EM_SetAudio_action.CREATE);SetAudio(EM_SetAudio_audioKinds.MOUSECLICK, EM_SetAudio_action.CREATE);}// Update is called once per framevoid Update(){}/// <summary>/// 目的:SetBGM 需要的枚举:audio操作/// </summary>public enum EM_SetAudio_action{/// <summary>空</summary>NULL,/// <summary>创建</summary>CREATE,/// <summary>播放</summary>PLAY,/// <summary>暂停</summary>PAUSE,/// <summary>清楚</summary>CLEAR,/// <summary>重置</summary>RESET}/// <summary>/// 目的:SetBGM 需要的枚举:audio种类/// </summary>public enum EM_SetAudio_audioKinds{/// <summary>空</summary>NULL,/// <summary>背景音乐</summary>BGM,/// <summary>鼠标点击音乐</summary>MOUSECLICK}/// <summary>/// 目的:设置 背景音乐/// </summary>public void SetAudio(EM_SetAudio_audioKinds _emSetAudio_audioKinds, EM_SetAudio_action _emSetAudio){switch (_emSetAudio){case EM_SetAudio_action.NULL:break;case EM_SetAudio_action.CREATE:switch (_emSetAudio_audioKinds){case EM_SetAudio_audioKinds.BGM:as_bgm.clip = ac_bgm;as_bgm.loop = true;break;case EM_SetAudio_audioKinds.MOUSECLICK:as_mouseClick.clip = ac_mouseClick;as_bgm.loop = false;break;}break;case EM_SetAudio_action.PLAY:switch (_emSetAudio_audioKinds){case EM_SetAudio_audioKinds.BGM:if (as_bgm.clip!=null&&as_bgm.isPlaying==false){as_bgm.Play();}break;case EM_SetAudio_audioKinds.MOUSECLICK:if (as_mouseClick.clip != null && as_mouseClick.isPlaying == false){as_mouseClick.Play();}break;}break;case EM_SetAudio_action.PAUSE:switch (_emSetAudio_audioKinds){case EM_SetAudio_audioKinds.BGM:if (as_bgm.clip != null && as_bgm.isPlaying == true){as_bgm.Pause();}break;case EM_SetAudio_audioKinds.MOUSECLICK:if (as_mouseClick.clip != null && as_mouseClick.isPlaying == true){as_mouseClick.Pause();}break;}break;case EM_SetAudio_action.CLEAR:break;case EM_SetAudio_action.RESET:switch (_emSetAudio_audioKinds){case EM_SetAudio_audioKinds.BGM:if (as_bgm.clip != null && as_bgm.isPlaying == true){ as_bgm.PlayScheduled(0);}break;case EM_SetAudio_audioKinds.MOUSECLICK:if (as_mouseClick.clip != null && as_mouseClick.isPlaying == true){as_bgm.PlayScheduled(0);}break;}break;}}}
1、Unity设置
导入俩个audioclip
场景中新建俩个audio,名字分别是Audio Source-bgm Audio Source-mouseClick
将代码拖到名字、标签叫做 ScriptsHold 空物体上
1、别的地方调用这个音乐
GameObject.FindWithTag("ScriptsHold").GetComponent<MyAudio>().SetAudio(MyAudio.EM_SetAudio_audioKinds.MOUSECLICK, MyAudio.EM_SetAudio_action.PLAY);GameObject.FindWithTag("ScriptsHold").GetComponent<MyAudio>().SetAudio(MyAudio.EM_SetAudio_audioKinds.BGM, MyAudio.EM_SetAudio_action.PLAY);
Unity中音乐操作相关推荐
- unity中音乐播放
下面展示一些 内联代码片. public class AudioSuoce : MonoBehaviour {private AudioSource audioSource;public AudioC ...
- 木木的Unity学习笔记(四)—— Unity中的柏林噪声(Perlin Noise)
木木的Unity学习笔记(四)-- Unity中的柏林噪声 柏林噪声是一个非常强大算法,经常用于程序生成随机内容,在游戏和其他像电影等多媒体领域广泛应用.算法发明者Ken Perlin也因此算法获得奥 ...
- 【Unity3D Shader编程】之五 圣诞夜篇 Unity中Shader的三种形态对比 混合操作合辑
分享一下我老师大神的人工智能教程!零基础,通俗易懂!http://blog.csdn.net/jiangjunshow 也欢迎大家转载本篇文章.分享知识,造福人民,实现我们中华民族伟大复兴! 本系列文 ...
- unity中2D飞机游戏手指触屏操作的问题
unity中2D飞机游戏手指触屏操作的问题 菜鸡记录一下在项目中遇到的坑 下面就是我用的代码 if (UnityEngine.Input.touchCount > 0) //每一帧触摸到的屏幕的 ...
- Unity 中的音乐可视化
Unity 中的音乐可视化 本帖最后由 204有个大坑 于 2017-5-31 17:33 编辑 1738music-visulization-in-unity.jpg (32.33 KB, 下载次数 ...
- 【Unity3D】资源文件 ① ( Unity 中常用的文件类型 | Unity 文件操作 | 文件系统中查看文件 | 添加文件 | 删除文件 | 导入文件 | 复制文件 | 缩略图显示 )
文章目录 一.Unity 中常用的文件类型 二.Unity 文件操作 1.文件系统中查看文件 2.添加目录 / 文件 3.删除目录 / 文件 4.导入资源 5.复制资源 6.缩略图显示 7.meta ...
- Pico neo3在Unity中的交互操作
上一篇讲了Pico neo3在Unity中的移动,今天来讲解一下Pico neo3如何在Unity3D中如何进行UI页面的交互,很多人都觉得使用Pico设备进行引擎开发太过于麻烦,不熟悉Pico的AP ...
- Unity中对Excel的操作(使用EPPlus)
目录 一.导入EPPlus 1.首先在Unity中导入EPPlus和Excel 2.创建脚本,引入命名空间 二.读取Excel 1. 获取Excel信息文件 2.打开Excel文件信息, ...
- Unity中的旋转和矩阵操作
Definition for Matrix4x4 is from unity Matrix4x4 matrix = new Matrix4x4(); ...
最新文章
- stl的complex(二)
- (二十):response 对象 (JSP学习第六天)
- clistctrl控件最后插入在后面_老板让我把图片放到Excel表格中,批量插入效率高...
- 使用adb调试android
- 转 python测试框架最全资源汇总
- M1 Mac 档案的临时暂存区工具: Yoink
- 基础篇:6.Android数据库编程---SQLite
- 拿到offer怕查学历不敢去_《令人心动的offer》— 我们法庭见
- xp共享文件夹服务器,xp共享文件夹服务器
- SQL获取当前时间的前10天
- Android蓝牙自动配对和Pin码设置
- Mybatis-There is no getter for property named 'tj' in 'class
- 【模型开发】评分卡应用
- 14 款命令行常用工具的替代品
- 9部最佳Netflix原创恐怖电影和电视节目播出(2020年6月)
- 三菱梯形图转换c语言软件,三菱梯形图转51单片机软件使用程序超过100步又要使用软件的朋友.pdf...
- RT-Thread源码下载介绍
- 练习假摔(视频, 超搞笑)
- 网速慢、WIFI信号差?这样操作路由器就可以
- [云炬商业计划书笔记]
热门文章
- POST /wd/hub 500
- 洪强宁:宜信PaaS平台基于Calico的容器网络实践
- android百度定位失败的原因,百度定位中出现4.9E-324问题的原因和解决办法
- 如何使用JQ封装轮播图 实现自动轮播、点击切换等效果..
- lower_bound()函数详解
- Android 蓝牙打印机格式问题
- 服务器多账户管理系统,统一用户管理解决方案
- vuepress 热更新失效研究
- python excel 截图_法律行业python高级案例——网络侵权自动化批量取证
- Anaconda新手使用教程