gpt4 book ai didi

c# - 获取对通过 AudioSource.PlayClipAtPoint() 实例化的 AudioSource 的引用

转载 作者:行者123 更新时间:2023-11-30 23:26:44 28 4
gpt4 key购买 nike

AudioSource.PlayClipAtPoint()AudioSource 组件添加到单一行为所附加到的当前游戏对象。但是,出于某种原因,它具有 void 返回类型,而不是返回对 AudioSorce 组件的引用。很奇怪!

有什么方法可以高效获取对创建的AudioSource 组件的引用,以便可以更改音调和音量等参数?

编辑:我已经找到了 this在 answers.unity 上完美地回答了这个问题。

最佳答案

AudioSource.PlayOneShot() NOTaudioSource 组件添加到当前 gameObject。它播放参数中提供的声音/audioClip。

AudioSource myAudio;
myAudio = GetComponent<AudioSource>();
myAudio.pitch = 1f;
myAudio.volume = 1f;
myAudio.PlayOneShot(myAudio.clip);

编辑:

由于您的问题已编辑并且 PlayOneShot() 已更改为 PlayClipAtPoint(),因此 PlayClipAtPoint 是一个静态函数。它创建一个 AudioSource,播放声音,然后销毁 AudioSource

AudioSource 添加到当前 对象。它只是将每个 AudioSource 创建为场景中的 parent GameObject。它用于播放短声音,您不应尝试获取引用,因为它不会返回一个引用,您最终可能会在场景中获得另一个引用。

您无法更改音高,但您可以通过提供第三个参数来更改音量

AudioSource.PlayClipAtPoint(myAudio.clip, this.transform.position, 1);

关于c# - 获取对通过 AudioSource.PlayClipAtPoint() 实例化的 AudioSource 的引用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36804055/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com