Einstieg: MovieClips funktionieren nach dem Babuschka-Prinzip

Verschachtelung von MovieClips

Bevor wir uns auf den nächsten Seiten vertieft mit der Adressierung befassen, nehmen wir uns zunächst eine Einstiegsübung vor. Ziel ist es, das Grundprinzip der "Verschachtelung" (oder die Hierarchie) von MovieClips kennen zu lernen. Laden Sie sich bitte rechts die Übung herunter und öffnen Sie sie in Flash. Schauen Sie sich nun in der Bibliothek etwas um: Sie finden dort drei Symbole, welche wir nun nach dem Babuschka-Prinzip aufbauen werden:

  • Öffnen Sie das Symbol babuschka mittel. Ziehen Sie darin eine Instanz von babuschka klein aus der Bibliothek auf die dafür vorbereitete Ebene. Geben Sie der Instanz einen sinnvollen Namen.
  • Öffnen Sie nun aus der Bibliothek das Symbol babuschka gross. Ziehen Sie darin eine Instanz von babuschka mittel aus der Bibliothek auf die dafür vorbereitete Ebene. Geben Sie auch dieser Instanz einen sinnvollen Namen.
  • Ziehen Sie nun eine Instanz von babuschka gross auf die Bühne der Hauptzeitleiste. Zur Kontrolle versuchen Sie nun, durch Klicken bis zur kleinsten der Babuschkas vorzudringen. Oben auf der Bühne sollten Sie nun folgendes Bild vorfinden:

Hierarchie von MovieClips

Unten auf der Bühne sollten Sie sehen:

Babuschka auf der Bühne

Die liebe Verwandschaft

Die Babuschkas sind in eine Beziehung zueinander getreten. Jede Babuschka hat einen Elternteil und ein oder mehrere Kindelemente. Die Verwandten lassen sich in ActionScript ansprechen, und genau dies ist das Thema der nächsten Seiten. Ausserdem hat jede Babuschka eine sog. root (der oberste Tritt in der Hierarchieleiter der Beziehungen) welche aber leider in AS3 nicht bedingungslos zur Verfügung steht (vergl. nächste Seiten).

Fügen Sie nun das folgende Code-Schnippsel auf die Hauptzeitleiste und in jede der Babuschkas. Sie finden überall dafür vorbereitete Ebenen.

// Auf der nächsten Zeile bitte einschreiben, wo sich der Code befindet
trace("Die folgende Ausgabe kommt vom Code in ...:");
trace("Das gibt \"this\" heraus: " + this);
trace("Mein Name ist: " + this.name);
// Das geht nur hier
trace("Meine Wurzeln sind: " + MovieClip(root));
trace("Mein Elternteil (\"this.parent\") ist: " + this.parent);
trace("Mein(e) Kind(er) sind:");
for (var i:uint = 0; i < this.numChildren; i++){
    trace ("- Kindnr. " +i+ ", Kind-Name: " + this.getChildAt(i).name + ", Objekt: " + this.getChildAt(i));
}
trace("-------------------------------------------------------------------------");

Testen Sie jetzt den Film und lesen Sie Botschaft im Ausgabe-Fenster.