我想从AudioClips数组中播放AudioClips,并且我试图使其与AudioSource.PlayOneShot一起工作,但是由于某种原因,我在以下位置得到“对象引用未设置为对象实例”错误当我尝试从其他脚本访问PlayOneShot时。因此,我做了什么,我创建了一个空的游戏对象,并向其附加了AudioSource组件和AudioControler脚本。该脚本如下所示:
public AudioClip[] clips;
AudioSource audioSource;
private void Start(){
audioSource = GetComponent<AudioSource>();
}
public void PlaySound(){
audioSource.PlayOneShot(clips[0], 1);
}
然后,我将一些音频剪辑附加到编辑器中的“ clips”数组,然后从另一个脚本调用PlaySound()方法,这给了我错误。知道我在这里做错了吗?
问题是
-从另一个脚本访问monobehaviour脚本,我用new
实例化了它,这真是个糟糕的主意!不要尝试用MonoBehaviour
实例化从new
继承的脚本!!!这有助于我理解:MonoBehaviourpublic void PlaySound(){if(audioSource!=空)audioSource.PlayOneShot(clips [0],1);