团结 - 为什么我不能通过脚本播放我需要的声音?

时间:2016-03-15 13:26:11

标签: audio unity3d

我有AudioSources作为我的播放器对象的孩子,我得到了我正在使用的脚本。

所以我在主类中实现了Audiosource:

public AudioSource good_morning;
public AudioSource stroke_message;
public AudioSource citysound;
public AudioSource silence;

然后在void Start()我试图获取组件并播放其中的1个。但没有任何事情发生..你能帮助我吗?

citysound = GetComponentInChildren<AudioSource>();
good_morning = GetComponentInChildren<AudioSource> ();
stroke_message = GetComponentInChildren<AudioSource> ();
silence = GetComponentInChildren<AudioSource>();
good_morning.Play ();

2 个答案:

答案 0 :(得分:0)

我怀疑您没有为场景中的AudioSource分配音频剪辑。

我确信您不完全了解如何使用GetComponentInChildren<AudioSource>();。它遍历你变换的孩子;在其中一个中检测到AudioSource后,它会停止并返回它。基本上,所有变量都将设置为相同的AudioSource。我建议您从第二个代码段中删除前4行,并手动从Unity编辑器中分配AudioSources,以便确保为每个代码分配正确的变量。

答案 1 :(得分:0)

中试试
void start()
{
AudioSource citysound = GetComponent<AudioSource>();
AudioSource good_morning = GetComponent<AudioSource> ();
AudioSource stroke_message = GetComponent<AudioSource> ();
AudioSource silence = GetComponent<AudioSource>();
good_morning.Play ();
}