こんにちは、タイトルのように問題があります。
私が親に電話するとき、私のいくつかのクラスで。またはムービークリップ(ルート)。コンストラクターでは、トレースはエラー NULL を返しますが、言及されたアピールを他のプライベートまたはパブリック関数で呼び出すと (たとえば、その関数が機能するaddEventListener(Event.ENTER_FRAME, func);
のはなぜですか?
誰か説明してもらえますか?
こんにちは、タイトルのように問題があります。
私が親に電話するとき、私のいくつかのクラスで。またはムービークリップ(ルート)。コンストラクターでは、トレースはエラー NULL を返しますが、言及されたアピールを他のプライベートまたはパブリック関数で呼び出すと (たとえば、その関数が機能するaddEventListener(Event.ENTER_FRAME, func);
のはなぜですか?
誰か説明してもらえますか?
私はあなたの質問を明確に理解していませんが、電話する場合:
this.parent または this.root
コンストラクターメソッドでは、 ( Adobe ref から) 次の理由により、常に null になります。
根
プロパティは、その SWF ファイルによって表される表示リストのツリー構造の部分の最上位の表示オブジェクトです。
親
プロパティは、この表示オブジェクトを含む DisplayObjectContainer オブジェクトを示します
DisplayObject は、構築される前にどこにも追加できません。まずあなたが電話する
var myDisplayObject:DisplayObject = new MyDisplayObject();
次に、それを別の DisplayObject または Stage (DisplayObjectContainer) に追加します。
anotherDisplayObject.addChild(myDisplayObject); /* これで、myDisplayObject の親とルート プロパティが定義されました */
package {
import flash.display.Sprite;
public class Picture extends Sprite
{
public function Picture()
{
trace(parent) // parent is null
addEventListener(Event.ADDED, onAdded)
}
private function onAdded(e:Event):void
{
trace(parent) // returns parent
}
}
}