unity声音管理
来源:互联网 发布:商品条码数据库下载 编辑:程序博客网 时间:2024/04/20 09:47
unity声音管理
using UnityEngine;using System.Collections;public class AudioManager : MonoBehaviour{ private static AudioManager mInstance; private AudioSource mAudioSource; private AudioClip mAudioClip; private string mSoundName; public static AudioManager Instance { get { if (mInstance == null) { GameObject obj = new GameObject("_AudioManager"); mInstance = obj.AddComponent(typeof(AudioManager)) as AudioManager; } return mInstance; } } void Awake() { mAudioSource = this.gameObject.AddComponent(typeof(AudioSource)) as AudioSource; DontDestroyOnLoad(this.gameObject); } public void Play() { PlaySound(); } public void Play(string fileName) { Play(fileName, false); } public void Play(string fileName, bool loop) { if (!fileName.Equals(mSoundName)) { mSoundName = fileName; PlaySound(loop); } } public void Play(AudioClip clip) { Play(clip, false); } public void Play(AudioClip clip, bool loop) { mAudioSource.clip = clip; mAudioSource.loop = loop; mAudioSource.Play(); } public void Stop() { mAudioSource.Stop(); } public AudioSource Play(AudioClip clip, Transform emitter) { return Play(clip, emitter, 1f, 1f, false); } public AudioSource Play(AudioClip clip, Transform emitter, float volume) { return Play(clip, emitter, volume, 1f, false); } public AudioSource Play(AudioClip clip, Transform emitter, float volume, float pitch) { return Play(clip, emitter, volume, pitch, false); } public AudioSource Play(AudioClip clip, Transform emitter, bool loop) { return Play(clip, emitter, 1f, 1f, loop); } public AudioSource Play(AudioClip clip, Transform emitter, float volume, float pitch, bool loop) { GameObject go = new GameObject("Audio_" + clip.name); go.transform.position = emitter.position; go.transform.parent = emitter; AudioSource source = go.AddComponent<AudioSource>(); source.clip = clip; source.volume = volume; source.pitch = pitch; source.loop = loop; if (!loop) { Destroy(go, clip.length); } return source; } public AudioSource Play(AudioClip clip, Vector3 point) { return Play(clip, point, 1f, 1f, false); } public AudioSource Play(AudioClip clip, Vector3 point, float volume) { return Play(clip, point, volume, 1f, false); } public AudioSource Play(AudioClip clip, Vector3 point, float volume, float pitch) { return Play(clip, point, volume, pitch, false); } public AudioSource Play(AudioClip clip, Vector3 point, bool loop) { return Play(clip, point, 1f, 1f, loop); } public AudioSource Play(AudioClip clip, Vector3 point, float volume, float pitch, bool loop) { GameObject go = new GameObject("Audio_" + clip.name); go.transform.position = point; AudioSource source = go.AddComponent<AudioSource>(); source.clip = clip; source.volume = volume; source.pitch = pitch; source.loop = loop; if (!loop) { Destroy(go, clip.length); } return source; } private void PlaySound() { if (mSoundName != "") { mAudioSource.Play(); } } private void PlaySound(bool loop) { if (mSoundName != "") { mAudioClip = Resources.Load("Audio/" + mSoundName) as AudioClip; mAudioSource.clip = mAudioClip; mAudioSource.loop = loop; mAudioSource.Play(); } }}
0 0
- unity声音管理
- unity声音的管理
- Unity 声音播放管理模块
- Unity中游戏的声音管理
- Unity声音 Sound (圣典篇)
- unity添加声音方法
- unity之声音播放
- Unity声音特效
- Unity 顺序播放声音
- Unity声音-音源
- 【Unity资源】(声音)
- Unity 声音资源优化
- Unity 中的声音系统
- Unity播放声音框架
- Unity基础,添加声音
- unity声音组件使用--没有声音处理
- unity 音频声音之控制
- Unity声音-音源组件AudioSource
- 161005
- JAVA进阶7.7——空字符串的区别
- http报文内的http信息
- python数据结构学习笔记-2016-10-05-04-抽象数据类型(四)
- Java——单例模式
- unity声音管理
- LeetCode 217. Contains Duplicate 解题报告
- 键盘输入10个数,放到数组中去除该数组中大于10的数,将该数组中的数字写入到本地文件
- HTTP3xx重定向
- python caffe training solve.py
- C语言 打印菱形(可变行数)
- MySQL中函数CONCAT及GROUP_CONCAT
- poj 2230 Watchcow(欧拉回路)
- 后缀数组代码理解加注释