Agrafes Commandant D'Autres Agrafes
Les agrafes de film peuvent également commander
d'autres agrafes de film. En employant _ la racine ou _ mot-clé
de parent, vous pouvez envoyer vos commandes vers le haut d'un niveau.
Puis, en employant le nom du film l'agrafe que vous voulez
adresser, vous peut renvoyer les commandes vers le bas à une autre
agrafe. Voici un exemple. Supposez que vous voulez que
l'agrafe "gears1" de film envoie une commande à son enfant de mêmes
parents, "gears2" :
_ parent.gears2.gotoAndStop(7) ;
Si "gears1" et "gears2" sont au niveau 1, _ le niveau
d'adresses de parent 0. Ajoutant "gears2" adresse la commande en
arrière vers le bas au niveau 1, mais à une autre agrafe de film
entièrement. Une autre manière de faire ceci serait avec les
crochets :
_ parent["gears2"].gotoAndStop(7) ;
Maintenant employons cette technique pour créer un film
avec trois agrafes de film. Le premier a un manuscrit d'agrafe
de film qui des avances il une armature à la fois. À
l'intérieur de ce film l'agrafe est un manuscrit déclenché sur la
15ème armature. Elle indique la prochaine agrafe de film faire
avancer une armature. Cette deuxième agrafe de film fait la
même chose à une troisième agrafe de film. Le résultat est
que la première agrafe de film anime rapidement, une armature par
armature normale de film. La deuxième agrafe de film anime une
armature de chaque 15 armatures que la première agrafe anime.
La troisième agrafe de film anime une armature de chaque 15
armatures que la deuxième agrafe anime.
-
Créez un nouveau film instantané. Faites une
agrafe de film qui a 15 armatures d'animation. Nommez-la "dent".
-
À l'intérieur de l'agrafe de film, placez un manuscrit
de stop() sur la première armature. Ceci l'empêche d'animer
toute par lui-même. Au lieu de cela, nous commanderons son
animation par ActionScript.
-
Sur la 15ème armature de l'agrafe de film, placez le
manuscrit suivant :
_ parent[clipToTell].nextFrame() ; gotoAndStop(1) ;
Ce code fait deux choses. D'abord, il indique une
agrafe de film d'enfant de mêmes parents avec le nom stocké dans le
clipToTell variable qu'il devrait avancer à la prochaine armature.
En second lieu, il s'envoie de nouveau à la première armature
au début encore.
-
Maintenant nous juste devons définir le clipToTell
variable. Nous ferons ceci dans le manuscrit d'agrafe de film,
ainsi sortez l'édition de l'agrafe et du retour de film d'"dent" à
la chronologie principale. Placez un exemple de l'agrafe de film
d'"dent" dans la zone de travail et appelez-le "cog1".
Attachez maintenant un manuscrit d'agrafe de film à lui.
Voici le manuscrit :
onClipEvent (charge) {clipToTell = "cog2" ; }
onClipEvent (enterFrame) {nextFrame() ; }
La première chose qui se produit quand les
débuts d'agrafe de film est que le clipToTell variable est placé à
"cog2". Ceci signifie que quand l'agrafe de film obtient
d'encadrer 15, il emploie le manuscrit précédent dans l'étape 3
pour indiquer "cog2" avancer une armature.
Le traiteur onClipEvent (d'enterFrame) est employé pour
avancer cette agrafe de film par une armature de chaque armature
principale de film.
Elle peut être embrouillante pour voir que le manuscrit
d'agrafe de film et les manuscrits d'armature à l'intérieur de
l'agrafe de film sont au même niveau. Après tout, vous pouvez
seulement atteindre et éditer le manuscrit d'agrafe de film tandis
que le visionnement de la chronologie principale, et de vous peut
seulement atteindre et éditer les manuscrits de l'armature de
l'agrafe de film en regardant la chronologie de l'agrafe de film.
En dépit de ceci, ces manuscrits sont tous au niveau d'agrafe
de film. C'est pourquoi le clipToTell variable global est
disponible à tous les deux.
-
Traînez maintenant l'agrafe de film de "dent" à la zone
de travail une deuxième fois. Nommez cet exemple "cog2".
Placez le manuscrit suivant là-dessus :
onClipEvent (charge) {clipToTell = "cog3" ; }
C'est tous les deuxièmes besoins d'agrafe de
film. Il n'a pas besoin d'un traiteur onClipEvent (d'enterFrame)
parce qu'il n'avance pas une armature de chaque armature que le film
principal . Au lieu de cela, il obtient son instruction
d'avancer d'"cog1".
La deuxième agrafe, cependant, a une valeur de "cog3"
pour la variable de clipToTell. Cela signifie que quand il
obtient d'encadrer 15, il indique "cog3" avancer par une armature.
-
Créez un troisième exemple de l'agrafe de film d'"dent".
Nommez celui-ci "cog3". Aucun manuscrit n'est nécessaire
sur cette agrafe de film du tout. Il n'y aura aucun "cog4" dans
cet exemple, ainsi "cog3" n'a pas besoin de s'inquiéter disant
derrière une autre agrafe de film qu'il est temps d'avancer.
Ce film démontre plus que juste la communication
d'agrafe-à-agrafe. Il démontre également comment les
manuscrits d'agrafe de film et les manuscrits de l'armature d'une
agrafe de film peuvent partager une variable globale. Ce global
est disponible seulement à l'intérieur de l'agrafe de film et pas à
d'autres agrafes de film d'enfant de mêmes parents ou à la
chronologie principale.
c'est un article supplémentaire par Paulo Caldeira