2010-12-21 11 views
0

私はこのクラスを作って、私はTimeline.as(ドキュメントクラス)の同じパッケージにそれを置く:フラッシュCS、外部クラスから参照ルート

package { 
    import flash.utils.Timer; 
    import flash.events.TimerEvent; 

    public class Counter2 extends Timer { 

     public function Counter2(delay:Number, repeatCount:int=0) { 
      super(delay, repeatCount); 
      super.addEventListener(TimerEvent.TIMER, timerHandler); 
     } 

     public override function start():void { 
      super.start(); 
     } 
     public override function stop():void { 
      super.stop(); 
     } 
     public function timerHandler(evt:TimerEvent) { 
      trace(evt.target.currentCount); 
     } 
    } 
} 

このクラスはTimeline.asコンストラクタでインスタンス化されます。 タイムライン(ルート)をこのクラスから参照する方法はありますか?そしてもしそうなら、どのように?

ありがとうございます!

答えて

0

スタティックステージオブジェクトは、ディスプレイリストのオブジェクトからのみアクセスできます。

Documentクラス(または現在表示リスト上の別のオブジェクト):

そうのような....ステージへの参照パブリック渡すためにカスタムタイマークラス&使用中の方法(および店舗)を作成してみてくださいいない表示リスト内の
package { 
    import TestDependency; 
    import flash.display.MovieClip; 

    public class Main extends MovieClip 
    { 
     public var td:TestDependency; 

     function Main() { 
      td = new TestDependency(1000); 
      td.bindToStage(this.stage); 
     } 
    } 
} 

カスタムクラス(:

package { 
    import flash.display.Stage; 
    import flash.utils.Timer; 
    public class TestDependency extends Timer 
    { 
     private var stageRef:Stage; 

     function TestDependency(delay) { 
      super(delay); 
     } 

     public function bindToStage($stageRef:Stage) 
     { 
      this.stageRef = $stageRef; 
      trace(this.stageRef.stageWidth); 
     } 
    } 
} 
関連する問題