Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

lenerafa

controlar movie clip por outro movieclip AS3

Recommended Posts

Eu queria controlar um MOVIECLIP com outro.

 

Assim:

 

 

No primeiro (o controle) cada vez que chegar ao último frame,o outro movieclip aumenta o alpha

 

Em AS2 é muito simples fazer isso:

 

basta setar o mc1 para o mc2 e colocar o código no último frame.

Em As3, tentando fazer a mesma coisa, dá sempre algum erro.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Olá lenerafa,

Eu realmente não entendi o que você quer fazer, mas vê se é o seguinte.

 

----------------------------

 

Cria o arquivo.

 

Cria as layers AS e Palco.

 

No primeiro frame do Palco, você cria um quadrado, e transforma ele para um movieClip.

 

Colocar o nome de instância "quadrado_mc" para o movieClip criado no passo anterior.

 

Cria um keyframe mais ou menos no frame 10 para as layers AS e Palco.

 

No Frame 10 da layer AS colocar o seguinte actionscript apertando F9 para abrir o painel de actions:

 

quadrado_mc.alpha -= .2;

Sobre o alpha seria o seguinte:

 

1 = 100%;

.9 = 90%

.8 = 80%

.7 = 70%

.6 = 60%

.

.2 = 20%

.

 

----------------------------

 

O que eu não entendi é porquê você quer usar 2 movieclips...

 

Até... =D

Compartilhar este post


Link para o post
Compartilhar em outros sites

Vamos ver se compreendi.

 

1. Você tem um "botão" que aciona uma animação (movie clip).

2. Ao clicar no botão o movie clipe se desloca no palco, inicia com alpha 100% e no final está com alpha 50%.

 

Fazer isso o ocorrer sempre na escala de 100 para 50 é simples.

Agora, cada vez que o deslocamento ocorrer reduzir o alpha, por exemplo, pela metade, já é outra história.

 

Informe o código em AS2 que você está acostumado a usar, ajuda saber o que você precisa.

 

Publique também sua tentativa em AS3, não importa se está com erro.

 

Abraços

Compartilhar este post


Link para o post
Compartilhar em outros sites

Eu acho que não expliquei bem:

 

O que eu tenho são dois mc's diferentes: o primeiro (que deveria controlar o segundo) é de uma bola caindo.

Para cada vez que a bola atinge o alvo (segundo mc) ele deveria ficar mais colorido, ou seja, aumentar o alpha.

 

Em AS2 isso é muito fácil:

 

MC BOLA

 

Quadro chave no úliimo frame:

this.alvo
with(_root.alvo){
_alpha +=2
}

Em AS3 seria:

this.mc2
with(this.mc2){
alpha+=2
}
o erro que aparece:

 

TypeError: Error #1010: Um termo é indefinido e não tem propriedades.

at Untitled_fla::Symbol2_2/frame30()

Compartilhar este post


Link para o post
Compartilhar em outros sites

bom, se entendi bem, você quer que após chegar ao ultimo frame de um determinado MC, mude o alpha de um outro MC, que está no palco.

 

Se você quiser otimizar sua animação, recomendo que pesquise por classes para animação (Tweener, TweenMax...), elas facilitariam sua vida.

 

Usando seus MovieClips, ainda vejo uma saída um pouco melhor: Tirar seu código de dentro do MovieClip 'bola'. O código ficaria todo na TimeLine principal, e ficaria algo assim:

 

addEventListener(Event.ENTER_FRAME, enterFrame_Handler);

function enterFrame_Handler(evt:Event){
	if(bola_mc.currentFrame == bola_mc.totalFrames){
		mc2.alpha += .1;
	}
}

sendo bola_mc a instancia do MC que faz a animação.

 

Mas, se ainda quiser colocar o código dentro do MC, e no ultimo frame, assim deve funcionar:

 

with(Object(parent).mc2){
	alpha += .1;
}

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.