0

私のカプセル化に何か問題がありますが、それが何であるかはわかりません:

ステージにバインドされた Main という名前のドキュメント クラスを取得しました。

package  {

import flash.display.MovieClip;

  public class Main extends MovieClip
  {
    var chapter1:Chapter1;

    public function Main() {
        // constructor code
        chapter1 = new Chapter1;
        addChild(chapter1);
    }   
  }
}

MovieClip にバインドされた Chapter1 クラス:

package  {

import flash.display.MovieClip;
import flash.events.Event;
import flash.events.TimerEvent;
import flash.utils.Timer;

 public class Chapter1 extends MovieClip {

    public var numberOfFrames:uint;

    public function Chapter1() 
    {
        numberOfFrames = 3;

        //constructor
        trace("Chapter 1 constructed");
        Transition.moveFromTo();

    }

    public static function get getNumberOfFrames():uint
    {
        return numberOfFrames;
    }

 }
}

そして、単純なユーティリティとして使用するのが好きな Transition というクラス:

package  {

 public class Transition {

    public var gotNumber:uint;

    public function Transition() {
        trace(Chapter1.getNumberOfFrames);
    }

    static public function moveFromTo()
    {
        /* in the end id like to use this as a utility working with 
                     NumberOfFrames from a parent Chapter instance.*/
    }

 }
}

「1120: 未定義のプロパティ numberOfFrames へのアクセス」というエラー メッセージが表示されます。そのため、getter 関数自体は numberOfFrames の使用を許可されていないようです。しかし、私が見つけたすべての例で(2つのクラスだけでバインディングなしで動作していましたが)、ゲッターがそのようにvarを返すようにする理由がわかりません。私はそこで何かが恋しいですか?

4

2 に答える 2