2009-12-07 74 views
1

大家好,我有一個名爲Main.as一個類文件,並 另一個類calledr icon.as的Flash AS3類對象調用方法

package { 

    import icon; 
    public class main { 
     public var _time:String; 
     function main() { 

      _time="01:10"; 
      iconObj=new icon(this); 

     } 
     function timerFunction() { 
      _time=newTime; 
     } 
    } 
} 

package { 

    public class icon { 
     public var mytime:NUmber; 
     function icon(mainObj:*) { 

      trace("My time "+mainObj._time) 

     } 

    } 
} 

//樣品outout

//我的時間01: 10

如何在不重複調用MainObj的情況下從主類獲取當前更新。 這是可能的Flash AS3,或這個想法的任何其他替代方法。

回答

1

查看Observer Pattern。一旦時間改變,你可以有一個時鐘通知其觀察員。

Ther已經爲圖書館簡化了這項工作,例如as3-signals。您也可以使用flash.events.EventDispatcher執行相同的任務。

+0

Main類對象在本地參考事實上,我想從主CLAS觸發計時器。我需要從icon.as文件中檢查這個。在一個特定的時刻,我需要從主類獲得時間..我想現在你明白我想要什麼:) – coderex 2009-12-07 13:34:08

+0

如果你「需要從主類獲得時間」,你將不得不要求它,就像「mainObj」。時間」。 – 2009-12-07 17:58:18

0

存放在Icon

package 
{ 
    public class Icon 
    { 
     public var mytime:NUmber; 
     //store an instance of Main obj here. 
     public var mainObj:Main; 
     public function Icon(mainObj:Main) 
     { 
      this.mainObj = mainObj; 
     } 
     //call this method whenever you want time 
     public function readTime():void 
     { 
      trace("My time " + mainObj._time); 
     } 
    } 
}