2009-12-07 47 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); 
     } 
    } 
}