从其他Gameobject获取AudioSource

时间:2015-07-08 07:22:23

标签: c# unity3d

如何将Gameobject的AudioSource组件用于另一个Gameobject?

GameObject1.AudioSource

在gameobject2中,我将使用GameObject1.AudioSource ..

我使用的是Unity3d和c#lang。

请帮助..

2 个答案:

答案 0 :(得分:2)

也许您正在寻找这个:

AudioSource source1 = GameObject.FindGameObjectWithTag("GameObject1").GetComponent<AudioSource>();

GetComponent<AudioSource>().clip = source1.clip;

这会找到带有标记的gameObject(如果您已经有GameObject1,则此步骤是可选的)并从其AudioSource组件获取剪辑并复制到GameObject2的AudioSource。以同样的方式,您可以从音频源1中读取其他属性。

答案 1 :(得分:0)

获得组件的一般方法是来自编辑器,你可以写这样的东西

public Audiosource otherGameObjectAudioS;

然后你可以在编辑器上手动分配它,在创建的变量字段中拖动游戏对象,Unity会自动获取音频源组件,以便你可以使用它。

otherGameObjectAudioS.PlayOneShot(audioClip);

虽然如果无法从编辑器中分配它,您应该指定何时访问它,因为有多种方法可以执行此操作,例如碰撞,查找特定对象等。

干杯