一、目的

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中音乐操作相关推荐

  1. unity中音乐播放

    下面展示一些 内联代码片. public class AudioSuoce : MonoBehaviour {private AudioSource audioSource;public AudioC ...

  2. 木木的Unity学习笔记(四)—— Unity中的柏林噪声(Perlin Noise)

    木木的Unity学习笔记(四)-- Unity中的柏林噪声 柏林噪声是一个非常强大算法,经常用于程序生成随机内容,在游戏和其他像电影等多媒体领域广泛应用.算法发明者Ken Perlin也因此算法获得奥 ...

  3. 【Unity3D Shader编程】之五 圣诞夜篇 Unity中Shader的三种形态对比 混合操作合辑

    分享一下我老师大神的人工智能教程!零基础,通俗易懂!http://blog.csdn.net/jiangjunshow 也欢迎大家转载本篇文章.分享知识,造福人民,实现我们中华民族伟大复兴! 本系列文 ...

  4. unity中2D飞机游戏手指触屏操作的问题

    unity中2D飞机游戏手指触屏操作的问题 菜鸡记录一下在项目中遇到的坑 下面就是我用的代码 if (UnityEngine.Input.touchCount > 0) //每一帧触摸到的屏幕的 ...

  5. Unity 中的音乐可视化

    Unity 中的音乐可视化 本帖最后由 204有个大坑 于 2017-5-31 17:33 编辑 1738music-visulization-in-unity.jpg (32.33 KB, 下载次数 ...

  6. 【Unity3D】资源文件 ① ( Unity 中常用的文件类型 | Unity 文件操作 | 文件系统中查看文件 | 添加文件 | 删除文件 | 导入文件 | 复制文件 | 缩略图显示 )

    文章目录 一.Unity 中常用的文件类型 二.Unity 文件操作 1.文件系统中查看文件 2.添加目录 / 文件 3.删除目录 / 文件 4.导入资源 5.复制资源 6.缩略图显示 7.meta ...

  7. Pico neo3在Unity中的交互操作

    上一篇讲了Pico neo3在Unity中的移动,今天来讲解一下Pico neo3如何在Unity3D中如何进行UI页面的交互,很多人都觉得使用Pico设备进行引擎开发太过于麻烦,不熟悉Pico的AP ...

  8. Unity中对Excel的操作(使用EPPlus)

    目录 一.导入EPPlus 1.首先在Unity中导入EPPlus和Excel 2.创建脚本,引入命名空间​​​​​​​ 二.读取Excel 1. 获取Excel信息文件 2.打开Excel文件信息, ...

  9. Unity中的旋转和矩阵操作

    Definition for Matrix4x4 is from unity                 Matrix4x4 matrix = new Matrix4x4();           ...

最新文章

  1. stl的complex(二)
  2. (二十):response 对象 (JSP学习第六天)
  3. clistctrl控件最后插入在后面_老板让我把图片放到Excel表格中,批量插入效率高...
  4. 使用adb调试android
  5. 转 python测试框架最全资源汇总
  6. M1 Mac 档案的临时暂存区工具: Yoink
  7. 基础篇:6.Android数据库编程---SQLite
  8. 拿到offer怕查学历不敢去_《令人心动的offer》— 我们法庭见
  9. xp共享文件夹服务器,xp共享文件夹服务器
  10. SQL获取当前时间的前10天
  11. Android蓝牙自动配对和Pin码设置
  12. Mybatis-There is no getter for property named 'tj' in 'class
  13. 【模型开发】评分卡应用
  14. 14 款命令行常用工具的替代品
  15. 9部最佳Netflix原创恐怖电影和电视节目播出(2020年6月)
  16. 三菱梯形图转换c语言软件,三菱梯形图转51单片机软件使用程序超过100步又要使用软件的朋友.pdf...
  17. RT-Thread源码下载介绍
  18. 练习假摔(视频, 超搞笑)
  19. 网速慢、WIFI信号差?这样操作路由器就可以
  20. [云炬商业计划书笔记]

热门文章

  1. POST /wd/hub 500
  2. 洪强宁:宜信PaaS平台基于Calico的容器网络实践
  3. android百度定位失败的原因,百度定位中出现4.9E-324问题的原因和解决办法
  4. 如何使用JQ封装轮播图 实现自动轮播、点击切换等效果..
  5. lower_bound()函数详解
  6. Android 蓝牙打印机格式问题
  7. 服务器多账户管理系统,统一用户管理解决方案
  8. vuepress 热更新失效研究
  9. python excel 截图_法律行业python高级案例——网络侵权自动化批量取证
  10. Anaconda新手使用教程