AudioSource中的PlayClipAtPoint()和PlayOneShot()

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/iov3Rain/article/details/82146154

当同一个时间只需播放一个AudioClip时,用AudioSource组件

在脚本中用Play(), Pause(), Stop()方法就能满足

当需要在同一个时间播放N中AudioClip时,有两种方法PlayClipAtPoint()和PlayOneShot()

1.共同点

两个方法都是播放完AudioClip后自动关闭自动销毁

2.不同点

PlayClipAtPoint()播放的是3D音效

PlayOneShot()播放的是2D音效

PlayClipAtPoint是静态方法,而PlayOneShot不是。就是说,需要使用PlayOneShot方法,必须指明实例化的对象。

using System.Collections;
using System.Collections.Generic;
using UnityEngine;

public class Test : MonoBehaviour {

    public AudioClip audioClip;
    private AudioSource audioSource;

	void Start () {
        audioSource = GetComponent<AudioSource>();
	}
	
    //使用PlayClipAtPoint
    void Test1()
    {
        AudioSource.PlayClipAtPoint(audioClip, Vector3.zero);
    }

    //使用PlayOneShoot
    void Test2()
    {
        audioSource.PlayOneShot(audioClip);
    }
}

猜你喜欢

转载自blog.csdn.net/iov3Rain/article/details/82146154