Unity3D从另一个脚本调用函数(Unityscript)

Unity3D call function from another script (Unityscript)

我查找了类似的问题和回复,但仍然无法使它起作用。

LessonRightButton.js

//#pragma strict
public var audio1 : AudioPlayback;

function OnClick(){
        var findAudioSource = GameObject.Find("AudioPlaybackButton");
        var audio1:AudioPlayback = findAudioSource.GetComponent(AudioPlayback);
        audio1.woo(); //  THIS IS LINE 50 IN THE ERROR
}

AudioPlayback.js

//#pragma strict

function woo(){
    Debug.Log("wooooooooooooooo");
}

我收到这个错误:

NullReferenceException: Object reference not set to an instance of an object LessonRightButton.OnClick () (at Assets/Scripts/LessonRightButton.js:50)

我正在尝试从不同的脚本调用 woo 函数。 为了便于阅读,这些脚本被缩短了。请指教

您没有在该 AudioPlaybackButton 对象上附加 AudioPlayback。

手动或通过代码添加一个:

function OnClick(){
        var findAudioSource = GameObject.Find("AudioPlaybackButton");
        var audio1:AudioPlayback = findAudioSource.GetComponent(AudioPlayback);
        if(audio1 == null){
            audio1 = findAudioSource.AddComponent(AudioPlayback);
        }
        audio1.woo();    
}