2016-01-04 230 views
0

我查了类似的问题和反应,仍然没有能够得到这个工作。Unity3D从另一个脚本(Unity脚本)调用函数

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)

我试图从不同的脚本调用宇功能。 为了便于阅读,缩短了这些脚本。请指教。

回答

0

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

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

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

谢谢!想想你的解决方案,我意识到我设置了错误的GameObject。我需要设置的GameObject是“AudioPlayback”,它已经有一个AudioSource分配给它,而不是“AudioPlaybackButton”:-) – wsgb

相关问题