2012-03-21 55 views
0

我有一個AS3類與一些getVideo函數。我想在mxml中使用這個函數。所以,我在那裏創建對象,並試圖調用函數,但我得到這個錯誤:動作腳本3類和mxml文件

Call to a possibly undefined method.

我如何用我的功能在MXML?

我的AS3:

public class InitVideoSound 
    { 
     var video:Video = new Video(); 

     public function InitVideoSound() 
     {...} 

     public function getVideo():Video { 
      return video; 
     } 

我的MXML:

<fx:Script> 
     <![CDATA[   

      var ivs1 : InitVideoSound; 

      public function init(){ 
      ivs1.getVideo(); 

      start.enabled = false; 
      } 
     ]]> 
    </fx:Script> 
+0

一切看起來正確。你確定這是導致錯誤的線嗎? – 2012-03-21 17:35:24

+0

編譯器認爲如此 – pomkine 2012-03-21 17:41:17

+0

爲什麼'start.enabled = false;'在你的代碼片段中?你的代碼片段很難調試,因爲你提供的不僅僅是頭文件,而是隨機的多餘行,似乎不相關。嘗試修改它們,或提供更多信息。 – 2012-03-21 17:49:27

回答

0

試試這個

<fx:Script> 
     <![CDATA[   

      var ivs1 : InitVideoSound = new InitVideoSound() ; 

      public function init(){ 
      ivs1.getVideo(); 

      start.enabled = false; 
      } 
     ]]> 
    </fx:Script> 

確保爲類neccesary進口完成。

+1

該解決方案將解決空引用問題,但聽起來不像是OP的問題。不過,我很容易出錯。 – 2012-03-21 17:43:21

+0

我認爲這是在這一行:var ivs1:InitVideoSound;我將其更改爲var ivs1:InitVideoSound = new InitVideoSound();最後我可以使用我的功能。 – pomkine 2012-03-21 18:05:43

+0

@ user1284054是的,它只是爲InitVideoSound創建了一個對象。所以稍後它被引用時,函數getVideo()正常工作。 – 2012-03-21 18:28:41