Benutzerhandbuch Abbrechen

Zeitleisten und ActionScript

Mit ActionScript® können Sie die Zeitleiste zur Laufzeit steuern. Mithilfe von ActionScript können Sie in FLA-Dateien Interaktion und andere Funktionen erstellen, die mit der Zeitleiste allein nicht möglich wären.

Mit ActionScript® können Sie die Zeitleiste zur Laufzeit steuern. Mithilfe von ActionScript können Sie in FLA-Dateien Interaktion und andere Funktionen erstellen, die mit der Zeitleiste allein nicht möglich wären.

Lesen Sie die Beiträge zur Zeitleiste und ActionScript in der Webhilfe, um sich mit dem Steuern der Zeitleiste Sounds mit ActionScript vertraut zu machen.

Absolute Pfade

Absolute Pfade beginnen stets mit dem Namen der Stufe, auf der das Dokument geladen ist, und durchlaufen die Anzeigeliste bis hin zur jeweiligen Zielinstanz. Sie können auch den Aliasnamen _root verwenden, um auf die oberste Zeitleiste der aktuellen Stufe zu verweisen. Daher könnte der Verweis einer Aktion im Movieclip california auf den Movieclip oregon beispielsweise den absoluten Pfad _root.westCoast.oregon enthalten.

Das erste in Flash Player geöffnete Dokument wird auf Stufe 0 geladen. Jedem weiteren geladenen Dokument müssen Sie eine Stufennummer zuweisen. Verwenden Sie in einem absoluten Verweis auf ein geladenes Dokument in ActionScript den Ausdruck _levelX, wobei X für die Nummer der Stufe steht, auf der das Dokument geladen ist. So wird das erste im Flash Player geöffnete Dokument beispielsweise mit _level0, ein auf Stufe 3 geladenes Dokument hingegen mit _level3 bezeichnet.

Damit Dokumente auf verschiedenen Stufen miteinander kommunizieren können, müssen Sie im Zielpfad jeweils den Namen der Stufe angeben. Das folgende Beispiel zeigt, wie die Instanz portland die Instanz atlanta, die sich in einem georgia genannten Movieclip befindet, adressieren würde (georgia befindet sich auf derselben Stufe wie oregon):

_level5.georgia.atlanta
_level5.georgia.atlanta
_level5.georgia.atlanta

Sie können den Aliasnamen _root verwenden, um auf die Hauptzeitleiste der aktuellen Stufe zu verweisen. In der Hauptzeitleiste steht der Aliasname _root für _level0, wenn der Aufruf in einem Movieclip erfolgt, der sich ebenfalls auf _level0 befindet. Für ein auf _level5 geladenes Dokument entspricht _root der Stufe _level5, wenn der Aufruf in einem Movieclip erfolgt, der ebenfalls auf Stufe 5 geladen ist. Da southcarolina und florida beide auf derselben Stufe geladen sind, könnte in einem Aktionsaufruf in der Instanz southcarolina also beispielsweise mit dem folgenden absoluten Pfad auf die Instanz florida verwiesen werden:

_root.eastCoast.florida
_root.eastCoast.florida
_root.eastCoast.florida

Relative Pfade

Relative Pfade sind von der Beziehung zwischen der steuernden Zeitleiste und der Zielzeitleiste abhängig. Relative Pfade können ausschließlich auf Ziele verweisen die in Flash Player auf derselben Stufe geladen sind. So ist es beispielsweise nicht möglich, in einer Aktion auf _level0 mit einem relativen Pfad auf eine Zeitleiste auf _level5 zu verweisen.

In einem relativen Pfad können Sie mit dem Schlüsselwort this auf die aktuelle Zeitleiste auf der aktuellen Stufe und mit dem Aliasnamen _parent auf die der aktuellen Zeitleiste übergeordnete Zeitleiste verweisen. Der Aliasname _parent kann mehrmals hintereinander in einem Pfad verwendet werden, um auf die jeweils nächsthöhere Stufe der Moviecliphierarchie in derselben Flash Player-Stufe zu verweisen. Mit dem Pfadnamen _parent._parent beispielsweise adressieren Sie eine Aktion an einen Movieclip, der sich in der Hierarchie zwei Stufe über der Stufe befindet, auf der sie aufgerufen wird. Lediglich in der obersten Zeitleiste einer Stufe im Flash Player ist der Wert _parent nicht definiert.

In einer Aktion in der Zeitleiste der Instanz charleston, eine Stufe unter southcarolina gelegen, kann daher der folgende Zielpfad als Verweis auf die Instanz southcarolina verwendet werden:

_parent
_parent
_parent

Um auf die Instanz eastCoast (eine Stufe höher) aus einer Aktion in charleston zu verweisen, könnten Sie beispielsweise den folgenden relativen Pfad verwenden:

_parent._parent
_parent._parent
_parent._parent

Um auf die Instanz atlanta aus einer Aktion in der Zeitleiste von charleston zu verweisen, könnten Sie beispielsweise den folgenden relativen Pfad verwenden:

_parent._parent.georgia.atlanta
_parent._parent.georgia.atlanta
_parent._parent.georgia.atlanta

Relative Pfade sind nützlich bei der Wiederverwendung von Skripts. Angenommen, Sie weisen einem Movieclip das folgende Skript zu, das den Movieclip auf dessen unmittelbar übergeordneten Stufe auf 150 % vergrößert.

onClipEvent (load) { _parent._xscale
= 150; _parent._yscale = 150;
}
onClipEvent (load) { _parent._xscale = 150; _parent._yscale = 150; }
onClipEvent (load) {    _parent._xscale 
= 150;    _parent._yscale = 150; 
}

Sie können das Skript wieder verwenden, indem Sie es einer beliebigen Movieclip-Instanz zuweisen.

 Von Flash Lite 1.0 und 1.1 wird nur die Zuweisung von Skripts zu Schaltflächen unterstützt. Die Zuweisung von Sktipts zu Movieclips wird nicht unterstützt.

Sowohl in einem absoluten als auch in einem relativen Pfad kennzeichnen Sie eine Variable in einer Zeitleiste oder eine Eigenschaft eines Objekts durch einen Punkt (.), gefolgt vom Namen der Variablen oder Eigenschaft. Die folgende Anweisung beispielsweise stellt die Variable name der Instanz form auf den Wert "Gilbert" ein:

_root.form.name = "Gilbert";
_root.form.name = "Gilbert";
_root.form.name = "Gilbert";

Absolute und relative Zielpfade

Mithilfe von ActionScript können Sie Meldungen von einer Zeitleiste an eine andere senden. Die Zeitleiste, die die entsprechende Aktion enthält, wird als steuernde Zeitleiste und die Zeitleiste, an die die Aktion gerichtet ist, als Zielzeitleiste bezeichnet. Auf diese Weise haben Sie beispielsweise die Möglichkeit, dem letzten Bild einer Zeitleiste eine Aktion zuzuweisen, durch die eine andere Zeitleiste gestartet wird. Der Verweis auf eine Zeitleiste muss hierbei einen Zielpfad enthalten, der die Position eines Movieclips in der Anzeigeliste angibt.

Im folgenden Beispiel sehen Sie die Hierarchie eines Dokuments namens „westCoast“ auf Stufe 0, das drei Movieclips enthält: california, oregon und washington. Jeder dieser Movieclips enthält wiederum zwei Movieclips:

_level0
westCoast
california
sanfrancisco
bakersfield
oregon
portland
ashland
washington
olympia
ellensburg
_level0 westCoast california sanfrancisco bakersfield oregon portland ashland washington olympia ellensburg
_level0 
        westCoast 
                california 
                        sanfrancisco 
                        bakersfield 
                oregon 
                        portland 
                        ashland 
                washington 
                        olympia 
                        ellensburg

Wie bei einem Webserver gibt es zwei Möglichkeiten, um auf die Zeitleisten in Animate zu verweisen: in Form eines absoluten Pfades oder in Form eines relativen Pfades. Bei dem absoluten Pfad einer Instanz handelt es sich immer um einen vollständigen Pfadnamen, ausgehend vom Namen einer bestimmten Stufe, und zwar unabhängig davon, von welcher Zeitleiste aus die Aktion aufgerufen wird. Der absolute Pfad der Instanz california lautet beispielsweise _level0.westCoast.california. Ein relativer Pfad ist abhängig davon, an welcher Position der Aufruf der Aktion erfolgt. Von der Instanz sanfrancisco aus gesehen lautet der relative Pfad der Instanz california beispielsweise _parent, von der Instanz portland aus gesehen hingegen _parent._parent.california.

Angeben von Zielpfaden

Wenn Sie einen Movieclip, eine geladene SWF-Datei oder eine Schaltfläche steuern möchten, müssen Sie den entsprechenden Zielpfad angeben. Sie können den Zielpfad manuell oder über das Dialogfeld „Zielpfad einfügen“ angeben oder indem Sie einen Ausdruck erstellen, der zu einem Zielpfad ausgewertet wird. Um einen Zielpfad für einen Movieclip oder eine Schaltfläche angeben zu können, müssen Sie dem Movieclip oder der Schaltfläche einen Instanznamen zuweisen. Für ein geladenes Dokument wird kein Instanzname benötigt, da Sie dessen Stufennummer als Instanznamen verwenden können (z. B. _level5).

Zuweisen eines Instanznamens zu Movieclips oder Schaltflächen

  1. Wählen Sie auf der Bühne einen Movieclip aus.
  2. Geben Sie im Eigenschafteninspektor einen Instanznamen an.

Angeben des Zielpfades im Dialogfeld „Zielpfad einfügen“

  1. Wählen Sie die Movieclip-, Bild- oder Schaltflächeninstanz aus, der Sie die Aktion zuweisen möchten.

    Daraus entsteht die steuernde Zeitleiste.

  2. Gehen Sie im Bedienfeld „Aktionen“ („Fenster“ > „Aktionen“) auf der linken Seite zur Werkzeugleiste „Aktionen“ und wählen Sie eine Aktion oder Methode aus, die eine Zielpfadangabe erfordert.
  3. Klicken Sie auf das Parameterfeld bzw. auf die Stelle im Skript, in das bzw. an der Sie den Zielpfad einfügen möchten.
  4. Klicken Sie auf die Schaltfläche „Zielpfad einfügen“  oberhalb des Skriptfensters.
  5. Wählen Sie den Zielpfadmodus (absolut oder relativ) aus.
  6. Wählen Sie in der Anzeigeliste „Zielpfad einfügen“ einen Movieclip aus und klicken Sie auf „OK“.

Angeben des Zielpfades von Hand

  1. Wählen Sie die Movieclip-, Bild- oder Schaltflächeninstanz aus, der Sie die Aktion zuweisen möchten.

    Daraus entsteht die steuernde Zeitleiste.

  2. Gehen Sie im Bedienfeld „Aktionen“ („Fenster“ > „Aktionen“) auf der linken Seite zur Werkzeugleiste „Aktionen“ und wählen Sie eine Aktion oder Methode aus, die eine Zielpfadangabe erfordert.
  3. Klicken Sie auf das Parameterfeld bzw. auf die Stelle im Skript, in das bzw. an der Sie den Zielpfad einfügen möchten.
  4. Geben Sie im Bedienfeld „Aktionen“ einen absoluten oder relativen Zielpfad ein.

Verwenden eines Ausdrucks als Zielpfad

  1. Wählen Sie die Movieclip-, Bild- oder Schaltflächeninstanz aus, der Sie die Aktion zuweisen möchten.

    Daraus entsteht die steuernde Zeitleiste.

  2. Gehen Sie im Bedienfeld „Aktionen“ („Fenster“ > „Aktionen“) auf der linken Seite zur Werkzeugleiste „Aktionen“ und wählen Sie eine Aktion oder Methode aus, die eine Zielpfadangabe erfordert.
  3. Führen Sie einen der folgenden Schritte aus:
    • Tragen Sie in ein Parameterfeld einen Ausdruck ein, der zu einem Zielpfad ausgewertet wird.

    • Klicken Sie im Skriptfenster auf die Stelle, an der Sie den Ausdruck einfügen möchten, und doppelklicken Sie in der Werkzeugleiste „Aktionen“ auf die Funktion targetPath in der Kategorie „Funktionen“. Die Funktion targetPath wandelt einen Verweis auf einen Movieclip in einen String um.

    • Klicken Sie im Skriptfenster auf die Stelle, an der Sie den Ausdruck einfügen möchten, und wählen Sie in der Kategorie „Funktionen“ der Werkzeugleiste „Aktionen“ die Funktion eval aus. Die Funktion eval wandelt einen String in einen Verweis auf einen Movieclip um, der für den Aufruf einer Methode wie beispielsweise play verwendet werden kann.

      Das folgende Skript stellt die Variable i auf den Wert 1 ein. Anschließend wird mithilfe der Funktion eval ein Verweis auf eine Movieclipinstanz erstellt und der Variablen x zugewiesen. Die Variable x, nun ein Verweis auf eine Movieclipinstanz, kann für den Aufruf der MovieClip-Objektmethoden verwendet werden.

      i = 1; x = eval("mc"+i); x.play(); // dies entspricht mc1.play();

      Mithilfe der Funktion eval lassen sich Methoden auch wie folgt direkt aufrufen:

      eval("mc" + i).play();

Schneller und einfacher Hilfe erhalten

Neuer Benutzer?