Pfade

Pfade geben die Position eines Objekts innerhalb einer Hierarchie von Objekten an, das bekannteste Beispiel sind auf der Festplatte gespeicherte Dateien, die sich in einer Hierarchie von Ordnern und Unterordnern befinden. In einem Flash-Projekt ist es häufig notwendig, oder zumindest praktisch, mehrere MovieClips ineinander zu verschachteln - und dann braucht es Pfade um im Code anzugeben, welcher MovieClip genau gemeint ist. Die Verschachtelung der MovieClips wird mit einer Rootline über der Bühne angezeigt:

Absolute Pfade
Ein absoluter Pfad beginnt am obersten Ende der Hierarchie - im obigen Bild mit //Szene 1// bezeichnet. Um diesen (absoluten) Startpunkt festzulegen, beginnt man die Pfadangabe mit **root**, z.B.: code format="actionscript" root.fred.joe.stop; //dieser Befehl stoppt joe (s. oben), egal wo der Code platziert ist. code

Relative Pfade
Ein relativer Pfad beginnt immer da, wo der Code platziert ist. Da AS3 Code üblicherweise (zumindest für unsere Zwecke) in der Hauptzeitleiste platziert wird (~root), kann man das **root** meist weg lassen: code format="actionscript" fred.joe.play; //dieser Befehl spielt den MovieClip ab (s. oben) gotoAndStop(3); //bewegt den Abspielkopf in das 3. Bild (frame) der Hauptzeitleiste code

Pfad einfügen:
Solange man im Flash Editor arbeitet kann, man mit Hilfe des "Target Tool" recht einfach den Objektpfad bestimmen. Durch einen Klick auf die Schaltfläche Zielpfad auswählen kann man die Struktur (Verschachtelung) sichtbar machen, einen Pfad auswählen und ihn direkt in den Code einfügen lassen.
 * [[image:http://flash.area-network.de/actionscript/grundlagen/object-path/target-tool-01.png width="403" height="191"]] || [[image:http://flash.area-network.de/actionscript/grundlagen/object-path/target-tool-02.png width="347" height="229"]] ||

Bei relativen Pathangaben, geht das Tool immer von dem Objekt aus, in dem man sich gerade befindet (s. unten).

Und wenn es doch komplizierter wird?
Das kann eigentlich nur der Fall sein, wenn sie sich schon mit fortgeschritteneren Dingen beschäftigen, z.B. mit der Programmierung externer Klassen (.as-Dateien) oder bei Code, der innerhalb einer Funktion in einem Objekt steht. In diesem Fall müssen sie sich nochmal eingehender informieren (fragen sie mich), hier nur einige Beispiele code format="actionscript" play;         //dieser Befehl spielt den MovieClip ab, innerhalb dessen er sich befindet root.play;    //spielt immer die Hauptzeitleiste ab parent.play;   //mit parent bewegt man sich die Hierarchie aufwärts,würde also joe abspielen, wenn der Code innerhalb von max steht parent.play;  //mit parent bewegt man sich die Hierarchie aufwärts,würde also joe abspielen, wenn der Code innerhalb von max steht parent.parent.play;  //zwei Stufen aufwärts, aus max würde man also fred abspielen code