【发布时间】:2016-07-12 22:54:34
【问题描述】:
所以对于初学者,我想说下面的代码有效。但它的结构不是我想要的:
public AudioClip pickup;
void OnTriggerEnter(Collider collider)
{
//Trigger for pickups
if (collider.gameObject.CompareTag("Pickup"))
{
AudioSource audio = GetComponent<AudioSource>();
audio.PlayOneShot(pickup);
}
}
但我想将这个类一分为二,并使用播放器控制器(上面写的一部分)从一个名为“LevelClass”的新类中调用一个函数,该类将容纳拾取方法,如下所示:
public void collidePickup(Collider collider)
{
collider.gameObject.SetActive(false);
AudioSource audio = GetComponent<AudioSource>();
audio.PlayOneShot(pickup);
}
让播放器控制器像这样调用函数:
level.collidePickup(collider);
我还将声音文件与脚本链接起来,这样它就可以播放声音了。通过测试,我确定问题是在 AudioSource 部分引起的,因为它没有找到可以使用的音频源。有什么我可以做的,这样我就可以在 levelclass 中而不是在 playercontroller 中使用 audiosource 的实例吗?
【问题讨论】: