Grampos Que Controlam Outros Grampos
Os grampos do filme podem também controlar outros
grampos do filme. Usando _ a raiz ou _ keyword do pai, você
pode emitir seus comandos acima de um nível. Então, usando o
nome do filme o grampo que você quer se dirigir, você pode emitir os
comandos para trás para baixo a um outro grampo. Está aqui um
exemplo. Suponha que você quer o grampo "gears1" do filme
emitir um comando a seu sibling, "gears2":
_ parent.gears2.gotoAndStop(7);
Se "gears1" e "gears2" estiverem no nível 1, _ o nível
de endereços 0 do pai. Adicionando "gears2" dirige-se ao
comando para trás para baixo ao nível 1, mas a um outro grampo do
filme inteiramente. Uma outra maneira fazer isto seria com
suportes quadrados:
_ parent["gears2"].gotoAndStop(7);
Deixe-nos agora usar essa técnica criar um filme com os
três grampos do filme. Primeiro tem um certificado do grampo do
filme que avanços ele um frame de cada vez. Dentro deste filme
o grampo é um certificado provocado no 1ö frame. Diz o grampo
seguinte do filme para mover para a frente um frame. Este
segundo grampo do filme faz a mesma coisa a um terceiro grampo do
filme. O resultado é que o primeiro grampo do filme animates
rapidamente, um frame por o frame normal do filme. O segundo
grampo do filme animates um frame para cada 15 frames que o primeiro
grampo animates. O terceiro grampo do filme animates um frame
para cada 15 frames que o segundo grampo animates.
-
Críe um filme flash novo. Faça um grampo do filme
que tenha 15 frames do animation. Nomeie-o "cog".
-
Dentro do grampo do filme, coloque um certificado do
stop() no primeiro frame. Isto impede que animating todo por se.
Instead, nós controlaremos seu animation com ActionScript.
-
No 1ö frame do grampo do filme, coloque o seguinte
certificado:
_ parent[clipToTell].nextFrame(); gotoAndStop(1);
Este código faz duas coisas. Primeiramente, diz um
grampo do filme do sibling com o nome armazenado no clipToTell
variável que deve avançar ao frame seguinte. Em segundo,
emite-se para trás ao primeiro frame ao começo outra vez.
-
Agora nós apenas temos que definir o clipToTell
variável. Nós faremos este no certificado do grampo do filme,
assim que retire a edição do grampo e do retorno do filme do "cog"
ao timeline principal. Coloque um exemplo do grampo do filme do
"cog" na área de trabalho e nomeie-o "cog1".
Una-lhe agora um certificado do grampo do filme.
Está aqui o certificado:
onClipEvent (carga) {clipToTell = "cog2"; }
onClipEvent (enterFrame) {nextFrame(); }
A primeira coisa que acontece quando os começos
do grampo do filme forem que o clipToTell variável está ajustado a
"cog2". Isto significa que quando o grampo do filme começa
moldar 15, usa o certificado precedente em etapa 3 dizer "cog2" para
avançar um frame.
O alimentador onClipEvent (do enterFrame) é usado
avançar este grampo do filme por um frame para cada frame principal
do filme.
Pode ser desconcertante ver que o certificado do grampo do
filme e os certificados do frame dentro do grampo do filme estão no
mesmo nível. Apesar de tudo, você pode somente começar em e
editar o certificado do grampo do filme quando o ver o timeline
principal, e puder somente começar em e editar os certificados do
frame do grampo do filme vendo o timeline do grampo do filme.
Apesar deste, estes certificados são todos no nível do grampo
do filme. Isto é porque o clipToTell variável global está
disponível a ambos.
-
Arraste agora o grampo do filme do "cog" à área de
trabalho uma segunda vez. Nomeie este exemplo "cog2".
Coloque o seguinte certificado nele:
onClipEvent (carga) {clipToTell = "cog3"; }
Esta é todas as segundas necessidades do grampo
do filme. Não necessita um alimentador onClipEvent (do
enterFrame) porque não avança um frame para cada frame que o filme
principal . Instead, começa sua instrução para avançar de
"cog1".
O segundo grampo, entretanto, tem um valor de "cog3" para
a variável do clipToTell. Isso significa que quando começa
moldar 15, diz "cog3" para avançar por um frame.
-
Críe um terceiro exemplo do grampo do filme do "cog".
Nomeie este "cog3". Nenhum certificado é needed neste
grampo do filme em tudo. Não haverá nenhum "cog4" neste
exemplo, assim que "cog3" não necessita preocupar-se sobre dizendo a
um outro grampo do filme que é hora de avançar.
Este filme demonstra mais do que apenas uma comunicação
do grampo-à-grampo. Demonstra também como os certificados do
grampo do filme e os certificados do frame de um grampo do filme podem
compartilhar de uma variável global. Este global está
disponível somente dentro do grampo do filme e não a outros grampos
do filme do sibling ou ao timeline principal.
este é um artigo adicionado por Paulo Caldeira