2014-10-16 56 views
0

我正在試圖製作一個簡單的setter,我喜歡用一個子類訪問。 這裏是父類代碼:as3在其他類中使用setter(父)

public class DeGeheimeMissie extends MovieClip 
{ 
    var deLader:URLLoader; 
    var deXmlData:XML; 
    public var hoofdVragenLijst:Object = new Object(); 
    public var subVragenLijst:Object = new Object(); 
    public var hetAntwoord:String; 

    public function DeGeheimeMissie() 
    { 
     var hetVerzoek:URLRequest; 
     hetVerzoek = new URLRequest("dialogen.xml"); 
     deLader = new URLLoader(hetVerzoek); 
     deLader.addEventListener(Event.COMPLETE, vragenGeladen); 
     deLader.load(hetVerzoek); 

     instObama.addEventListener(MouseEvent.CLICK, showVragen); 
     instObama.buttonMode = true; 
     instObama.useHandCursor = true; 
    } 

    public function set hetAntw(str:String):void 
    { 
     hetAntwoord = str; 
    } 

,這裏是子類在那裏我嘗試訪問它:

public class Rutte extends MovieClip 
{ 
    var deLader:URLLoader; 
    var deXmlData:XML; 
    public var antwoordenOverzicht = []; 
    //constructor 
    public function Rutte() 
    { 
     var hetVerzoek:URLRequest; 
     hetVerzoek = new URLRequest("dialogen.xml"); 
     deLader = new URLLoader(hetVerzoek); 
     deLader.addEventListener(Event.COMPLETE, antwoordenGeladen); 
     deLader.load(hetVerzoek); 

     instRutte.addEventListener(MouseEvent.CLICK, showAntwoorden); 
     instRutte.buttonMode = true; 
     instRutte.useHandCursor = true; 
    } 
     public function setAntwoord(e:MouseEvent) 
    { 
     var antw = e.currentTarget.text.charAt(0); 
     trace(e.currentTarget.text.charAt(0)); 
     this.parent.hetAntw(antw); 
    } 

我來到這裏的錯誤是: 1061:調用可能未定義方法hetAntwoord通過靜態類型flash.display的引用:DisplayObjectContainer。

+0

它應該會發生在你身上,使用相同的名稱可能會導致問題.... – BotMaster 2014-10-16 14:55:40

+0

是的,但我已經改變了函數名仍然是同樣的問題:< – 2014-10-16 14:57:45

+0

你沒有改變函數名稱,但靜態var名稱和現在你正試圖用它作爲一種方法。我建議重新開始並仔細檢查你正在做的事情,然後在出現真正問題時再回來。 – BotMaster 2014-10-16 15:01:33

回答

0

你應該試試這個,這是我們如何使用setters: this.parent.hetAntw = antw;

但爲什麼要在公共靜態var上創建公共setter?