Unity音效

2019-05-28 23:15:31 浏览数 (2)

AudioListener组件

用来接收音效

AudioSource组件

用来播放音效 PlayOnAwake:在组件Awake时播放声音 Loop:循环播放音效 PlayClipAtPoint()静态方法,在一个世界坐标的点上进行播放音乐

代码语言:javascript复制
AudioSource.PlayClipAtPoint(_clip,new Vector3(0,0,0))

PlayerOneShot()方法,在一个AudioSource中插播一段短的Clip

代码语言:javascript复制
void Start () 
    {
        audioSource = gameObject.GetComponent<AudioSource>();
    }
void jumpClipPlay()
    {
        audioSource.PlayOneShot(jumpClip, 10f);
    }

声音管理类: 单例模式(Mono中与C#中的单例有区别)

代码语言:javascript复制
AudioSource audioSource;
    //单例保证AudioManager的唯一性
    private static AudioManager instance;
    public static AudioManager Instance
    {
        get
        {
            if(instance == null) {
                //在找的时候构造出来一个Object
                GameObject go = new GameObject("audioManager");
                go.AddComponent<AudioManager>();
            }
            return instance;
        }
    }
    //禁止外接通过new的方式获取该类
    private AudioManager()    {    }

    private void Awake()
    {
        if (instance == null)
            instance = this;
    }

用枚举来实现多个音效 播放指定音效

1 人点赞