Clips, die Andere Clips Steuern
Filmclips können andere Filmclips auch steuern.
Indem Sie die _ Wurzel oder _ Elternteilschlüsselwort
verwenden, können Sie Ihre Befehle herauf ein Niveau senden.
Dann indem er den Namen des Films verwendet, kann der Clip, den
Sie adressieren möchten, Sie, die Befehle unten zu einem anderen Clip
zurückschicken. Ist hier ein Beispiel. Nehmen Sie, daß
Sie den Filmclip "gears1" einen Befehl schicken wünschen seinen
Geschwister, "gears2" an:
_ parent.gears2.gotoAndStop(7);
Wenn "gears1" und "gears2" auf Niveau 1 sind, _
Elternteiladreßpegel 0. "gears2" addierend, adressiert den
Befehl zurück unten an Niveau 1, aber an einen anderen Filmclip
völlig. Eine andere Weise, dies zu tun würde mit eckigen
Klammern sein:
_ parent["gears2"].gotoAndStop(7);
Lassen Sie uns jetzt diese Technik verwenden, um einen
Film mit drei Filmclips zu verursachen. Das erste man hat einen
Filmclipindex, der Fortschritte es ein Rahmen hintereinander.
Innerhalb dieses Films ist Clip ein Index, der auf dem 15.
Rahmen ausgelöst wird. Er erklärt den folgenden Filmclip,
einen Rahmen vorwärts zu verschieben. Dieser zweite Filmclip
tut die gleiche Sache zu einem dritten Filmclip. Das Resultat
ist, daß der erste Filmclip schnell belebt, ein Rahmen pro normalen
Filmrahmen. Der zweite Filmclip belebt einen Rahmen für jede 15
Rahmen, die der erste Clip belebt. Der dritte Filmclip belebt
einen Rahmen für jede 15 Rahmen, die der zweite Clip belebt.
-
Verursachen Sie einen neuen grellen Film. Bilden Sie
einen Filmclip, der 15 Rahmen Animation hat. Nennen Sie ihn
"Zahn".
-
Innerhalb des Filmclips setzen Sie einen stop() Index auf
den ersten Rahmen. Dieses verhindert, daß er selbst alle
belebt. Stattdessen steuern wir seine Animation durch
ActionScript.
-
Auf dem 15. Rahmen des Filmclips, setzen Sie den folgenden
Index:
_ parent[clipToTell].nextFrame(); gotoAndStop(1);
Dieser Code tut zwei Sachen. Zuerst erklärt er
einen Geschwisterfilmclip mit dem Namen, der im variablen clipToTell
gespeichert wird, das er zum folgenden Rahmen vorrücken sollte.
Zweitens schickt sich er zurück zu dem ersten Rahmen zum Anfang
wieder.
-
Jetzt müssen wir das variable clipToTell nur definieren.
Wir tun dies im Filmclipindex, also nehmen Sie das Redigieren
des "Zahn" Filmclips und -rückkehr zum Haupttimeline heraus.
Legen Sie einen Fall des "Zahn" Filmclips in den Arbeit Bereich
und nennen Sie ihn "cog1".
Bringen Sie jetzt einen Filmclipindex zu ihm an. Ist
hier der Index:
onClipEvent (Last) {clipToTell = "cog2"; }
onClipEvent (enterFrame) {nextFrame(); }
Die erste Sache, die geschieht, wenn die
Filmclipanfänge ist, daß das variable clipToTell auf "cog2"
eingestellt wird. Dies heißt, daß, wenn der Filmclip erhält,
15 zu gestalten, es den vorhergehenden Index in Schritt 3 benutzt, um
"cog2" zu erklären, einen Rahmen vorzurücken.
Die onClipEvent (enterFrame) ZufuhrIST gewohnt, diesen
Filmclip vorzurücken durch einen Rahmen für jeden Hauptfilmrahmen.
Er kann verwirrend sein, zu sehen, daß der Filmclipindex
und die Rahmenindexe innerhalb des Filmclips auf dem gleichen Niveau
sind. Schließlich können Sie an nur erhalten und den
Filmclipindex, während das Betrachten des Haupttimeline und Sie
redigieren an nur erhalten und die des FilmRahmenindexe clips
redigieren kann, indem es das timeline des Filmclips ansieht.
Trotz dieses sind diese Indexe alle auf dem Filmclipniveau.
Deshalb ist das globale variable clipToTell für beide
vorhanden.
-
Schleppen Sie jetzt den "Zahn" Filmclip zum Arbeit Bereich
ein zweites Mal. Nennen Sie diesen Fall "cog2". Setzen Sie
den folgenden Index auf ihn:
onClipEvent (Last) {clipToTell = "cog3"; }
Dieses ist alle zweiten Filmclipnotwendigkeiten.
Es benötigt nicht eine onClipEvent (enterFrame) Zufuhr, weil es
nicht einen Rahmen für jeden Rahmen vorrückt, den der Hauptfilm.
Stattdessen erhält es seine Anweisung, von "cog1" vorzurücken.
Der zweite Clip hat jedoch einen Wert von "cog3" für die
clipToTell Variable. Das bedeutet, daß, wenn es erhält, 15 zu
gestalten, es "cog3" erklärt, durch einen Rahmen vorzurücken.
-
Verursachen Sie einen dritten Fall des "Zahn" Filmclips.
Nennen Sie dieses "cog3". Kein Index ist auf diesem
Filmclip an allen erforderlich. Es gibt keine "cog4" in diesem
Beispiel, also "cog3" braucht nicht, sich um, einen anderen Filmclip
erklärend zu sorgen, daß es Zeit ist vorzurücken.
Dieser Film zeigt mehr als gerade Clip-zu-Clip
Kommunikation. Er zeigt auch, wie Filmclipindexe und
Rahmenindexe eines Filmclips eine globale Variable teilen können.
Dieses globale ist nur innerhalb des Filmclips und nicht für
andere Geschwisterfilmclips oder das Haupttimeline vorhanden. dieses ist ein Artikel, der von Paulo Caldeira
hinzugefügt wird
|