Agrafes Commandant D'Autres Agrafes


  Share  
|


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.

  1. Créez un nouveau film instantané. Faites une agrafe de film qui a 15 armatures d'animation. Nommez-la "dent".

  2. À 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.

  3. 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.

  4. 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.

  5. 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.

  6. 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


Share  

© 2005-2010 E-articles.info All Rights Reserved - Terms and conditions