Die Eigenschaften parent und root und ein einfaches Beispiel zur Objekthierachie

Die Eigenschaften parent und root:

Die Klasse DisplayObject enthält die Eigenschaften parent und root. Somit kann man in jedem Anzeigeobjekt diese Eigenschaften abfragen.

parent gibt das in der Anzeigelistenhierarchie übergeordnete "Elternobjekt" an, welches das Anzeigeobjekt enthält von dem aus die Eigenschaft parent abgefragt wurde. Das parent-Objekt muss ein DisplayObjectContainer-Objekt sein, denn sonst könnte das aktuelle Objekt nicht darin enthalten sein.
Mit der parent-Eigenschaft kann man einen relativen Pfad zu Anzeigeobjekten angeben, die über dem aktuellen Anzeigeobjekt liegen. 

root liefert bei einem Anzeigeobjekt in einer geladenen swf-Datei das oberste Anzeigeobjekt des Teilbaums der Anzeigeliste, der diese swf-Datei repräsentiert.
Beim Mainmovie (= die Instanz der Hauptklasse der ersten geladenen SWF-Datei) steht die root-Eigenschaft für das Mainmovie selbst.
Die root-Eigenschaft vom Stage-Objekt steht für das Stage-Objekt selbst.

Die root-Eigenschaft ist für jedes Anzeigeobjekt, das nicht in die Anzeigeliste aufgenommen wurde, auf null gesetzt.

Beispiel:

Geben Sie in eine leere Flash-Datei im ersten Bild des Mainmovies nachstehendes Skript ein:

trace (this);
trace (parent);
trace (root);
//
trace (stage);
trace (stage.root);
trace (stage.parent);

Im Ausgabefenster sehen Sie das Ergebnis:

this bezieht sich in diesem Fall auf das Mainmovie [object MainTimeline].
Das dem Mainmovie übergeordnete parent-Objekt ist die Bühne [object Stage].
Das root-Objekt des mainmovies ist das Mainmovie selbst [object MainTimeline].

stage liefert in jedem Anzeigeobjekt das Bühnenobjekt [object Stage].
Das root-Objekt der Bühne ist die Bühne selbst [object Stage].
Da die Bühne kein übergeordnetes Objekt besitzt, liefert die Eigenschaft stage.parent den Wert null.
 

Ein Beispiel zur Objekthierachie: Farbbalken.fla

Abfragen der Objekthierachie:

Das Skript aus dem Video zusammengefasst. Die Ergebnisse der trace-Funktionen sind als Kommentar daneben angefügt.

trace (this); // [object MainTimeline]
trace (this.numChildren); // 1
trace (this.getChildAt(0)); // [object Rot]
var rotesObjekt:Object = this.getChildAt(0);
trace (rotesObjekt.numChildren); // 2
trace (rotesObjekt.getChildAt(0)); // [object Shape]
trace (rotesObjekt.getChildAt(1)); // [object Gelb]
var gelbesObjekt:Object = rotesObjekt.getChildAt(1);
trace (gelbesObjekt.numChildren);
trace (gelbesObjekt.getChildAt(0)); // [object Shape]
trace (gelbesObjekt.getChildAt(1)); [object Blau]
var blauesObjekt:Object = gelbesObjekt.getChildAt(1);
trace (blauesObjekt.numChildren);
trace (blauesObjekt.getChildAt(0)); // [object Shape]

Abfragen der Eigenschaften parent und root:

Eigensachaften von untergeordneten Movieclips ansprechen und ändern: