私のカプセル化に何か問題がありますが、それが何であるかはわかりません:
ステージにバインドされた 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を返すようにする理由がわかりません。私はそこで何かが恋しいですか?