Unity简单的单例实例
来源:互联网 发布:js除法取整不四舍五入 编辑:程序博客网 时间:2024/06/16 19:50
using System;using System.Collections;using System.Collections.Generic;using UnityEngine;/// <summary>/// 定义端/// </summary>public class AudioGlobe : MonoBehaviour { //1。全局事件注册 //2.单例 全局类 向外提供一个接口 private static AudioGlobe audios; public static AudioGlobe inistance { get { if (audios == null) { audios = GameObject.FindObjectOfType (typeof(AudioGlobe)) as AudioGlobe; if (audios == null) { GameObject go = new GameObject(); audios= go.AddComponent<AudioGlobe>(); go.name = "AudioGlobe"; } } return audios; } } private AudioClip[] audioClips; void Start () { audioClips= Resources.LoadAll<AudioClip>("AudioClips"); Debug.Log(audioClips.Length); } //时间复杂度 空间复杂度 public void PlayClip(string audioName,GameObject obj,bool isLoop) { //音频的数组是否是空值或者没值 如果是 跳出当前方法 if (audioClips == null || audioClips.Length == 0) return; //在我们音频数组中找到名称相同的音频 AudioClip item = Array.Find<AudioClip> (audioClips, p => p.name == audioName); //我们是否找到了音频 没找到的话返回 if (item == null) return; //将要播放的AudioSource的音频修改为玩家要播放的音频 AudioSource source = obj.GetComponent<AudioSource>(); source.clip = item; source.Play(); source.loop = isLoop; } /// <summary> /// 暂停 /// </summary> /// <param name="obj"></param> public void PauseClip(GameObject obj) { obj.GetComponent<AudioSource>().Pause(); } // Update is called once per frame void Update () { }}调用单例public class TestAudio : MonoBehaviour { void Start () { // AudioGlobe.inistance.Test(); AudioGlobe.inistance.PlayClip ("BackgroundMusic", gameObject,true); } void Update () { if (Input.GetKeyDown(KeyCode.Space)) AudioGlobe.inistance.PauseClip(gameObject); }}
阅读全文
0 0
- Unity简单的单例实例
- Unity 单例与实例的区别
- unity->C#简单的单例模式
- 【Unity教程】简单的单例的使用
- 单例模式简单实例
- 【Unity】 Unity单例模式的使用
- 单件模式的两个简单实例
- 简单的单例
- 简单的单例
- Unity的设计模式--单例模式,
- 【Unity】最普通的单例模式
- Unity继承MonoBehaviour的静态单例
- UNITY 单例模式的模板
- Unity单例模式的实践
- 单例 -- 唯一的实例
- 完整的单例实例
- unity shader 固定管线实例(五) 简单的玻璃效果
- Unity Script 单例
- Comprehensive learning path – Data Science in Python
- 算法练习(18):Jump Game
- 基于Spring开发——自定义标签及其解析
- tomcat 上传超出限制的大文件的时候,无响应,服务器端有限制大小
- C_笔记整理_2
- Unity简单的单例实例
- 带父标签的自定义标签
- <最短路模板> 热浪
- android 五大布局(3)相对布局
- AngularJs多选框表格全选反选批量删除
- opencv python
- 配置python3的pip3
- Oracle 恢复.bat 出现监听未启动
- extends和implements区别