Ir para conteúdo

Arquivado

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

gersonab

[Resolvido] Efeito ao descarregar SWF para carregar outro

Recommended Posts

Galera, bom dia.

Estou precisando saber como faço um efeito para descarregar um swf ao clicar no menu para carregar outro no lugar deste, meu menu contém 9 itens, seria mais ou menos assim :

1 - Ao abrir o site o mc principal ja entra com o swf dele - OK

2 - Ao clicar em qualquer item do menu , o swf que estava carregado some e carrega um novo relacionado ao item do menu escolhido - OK

3 - Ao clicar em qualquer item do menu , o swf que estava carregado descarrega com um efeito qualquer ( podendo ser alpha ) e some e carrega um novo relacionado ao item do menu escolhido - NOK

 

espero que tenham entendido a dúvida, estou a horas procurando no google e ainda não encontrei .

Compartilhar este post


Link para o post
Compartilhar em outros sites

Você vai fazer uma animação dele sumiundo....

 

E no ultimo frame você descarrega ele do palco com unloadMovie(_root.alvo)

onde alvo é o MovieClip que você instanciou de alvo para carregar o conteudo.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Nobre amigo.

Nesta parte eu entendi, o que esta me deixando encucado é com a situação de que eu tenho 9 itens no menu, logo teria de algo mais dinâmico, exemplo .

 

Vamos supor que os meus swf estejam desta forma :

 

swf1 - 20 frames , swf2 - 30 frames , swf3 - 10 frames , swf4 - 40frames , swf5 - 25 frames , .....

 

Eu teri que fazer o efeito dele sumindo após estes frames e sendo que no último teria q dar um stop ou gotoandplay para depois destes ocorrer o efeito , certo ? exemplo :

 

swf1 - 25 frames sendo stop no frame 20 efeito do 21 ao 25 , swf2 - 35 frames sendo stop no frame 30 efeito do 31 ao 35 , swf3 - 15 frames sendo stop no frame 10 efeito do 11 ao 15 , entendeu o que estou querendo dizer ...

 

Verificando que o número de frames é diferente, logo se eu estiver com o swf1 carregado e quiser carregar o swf3, ou se estivesse com o swf3 e quisece o swf2 , pois cada item do menu representa um swf.

 

Desculpe caso eu não esteja compreendendo sua ajuda e ou não esteja sendo claro com a minha dúvida, estou precisando e muito acertar esta parte e desde ja agradeço sua colaboração.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Bom...

 

Se você quer algo mais interativo e complicado...

 

Basta usar a classe Tween()

 

E aplicar um alpha nela quando você for descarregar...e só descarregar quando terminar a animação

 

Por exemplo:

import mx.transitions.Tween;
import mx.transitions.easing.*;


bt.onPress = function(){
var apagar:Tween = new Tween(alvo, "_alpha", Linear.easeIn, 100, 0, 3, true);
apagar.onMotionFinished = function(){
   alvo.unloadMovie();
   alvo.loadMovie("foto1.jpg");
   var ligar:Tween = new Tween(alvo, "_alpha", Linear.easeIn, 0, 100, 3, true);
}
}

Seria algo assim...

 

Abraços

Compartilhar este post


Link para o post
Compartilhar em outros sites

cara tambem tenho essa duvida.

veja bem, eu sei utilizar o loadMovie e unloadMovie para carregar e descarregar.

Mas eu gostaria q no descarregamento do swf tivesse a animação (pode ser a inversa da entrada).

tenho um exemplo perfeito do que eu quero exatamente, saca so:

 

http://www.buanene.com.br

Compartilhar este post


Link para o post
Compartilhar em outros sites

Bom para fazer uma animação

 

Você cria uma animação do frame 1 ao 15 como frame de entrada e bla bla

ai mostra o que você quer mostrar por exemplo no frame 16 como imagem estática

 

E ai ao sair vai fazer do 17 ao 30

E ai você coloca no final da animação um unloadMovie(_parent.alvo);

ou _root.alvo se preferir...

 

Onde alvo é o nome do clip que você está usando para carregar uma animação externa.

 

E esse código de unloadMovie deve se encontrar no ultimo frame do MC carregado!

 

Se quiser também e caso você saiba de programação criar toda essa informação em um frame separado buscando o _currentframe = _totalframes do clip alvo.

 

Abraços

Compartilhar este post


Link para o post
Compartilhar em outros sites

sua dica é excelente, eu sei.

Mas ainda continuo um pouco confuso.

Não funcionou aqui.

Sei que é simples também, porém ta complicado para mim.

Se não for pedir muito, gostaria que você preparasse um sistema

de site com o que sugeri na dúvida.

Caso não seja possivel e você quizer me ajudar pelo topico criando um

passo a passo também seria legal.

Logo de cara agradeço a sua atenção e boa vontade.

 

Abraço!

 

O sistema que preciso é desse tipo: http://www.buanene.com.br

Compartilhar este post


Link para o post
Compartilhar em outros sites

Bom vamos lá então...

 

1) Crie 2 botões 1 que vai carregar a imagem... e outro que vai descarregar.

2) instancie o botão de carregar de bt1 e o de descarregar de bt2

3) Crie um movieclip alvo.... e instancie ele como alvo

4) Crie um novo arquivo onde vai conter sua animação como eu ensinei acima. frame 1 ao 15 uma animação de abertura.. 16 a imagem em si com a action stop() no mesmo frame e uma animação de volta do 16 ao 32.

5) Feito isso você terá o seu arquivo de animação e seu arquivo com os botões que vai carregar.

6) No arquivo que você criou com os botões coloque a ação:

bt1.onPress = function(){
    alvo.loadMovie('animacao.swf');
}
bt2.onPress = function(){
    alvo.play();
    alvo.onEnterFrame = descarrega;
}
function descarrega(){
    if(alvo._currentframe == alvo._totalframes){
        alvo.unloadMovie();
    }
}

E pronto você tem seu efeito...

 

Lembre-se que com o código acima basta que você coloque nos outros botões... a ação alvo.onEnterFrame = descarrega que ele sempre vai descarregar os clips...

 

E se você quiser carregar outros clips após descarregar. Você coloca um alvo.loadMovie(string);

 

Onde essa string vai ser uma variavel que você vai nomear no começo do seu arquivo para carregar outro arquivo

exemplo:

var string:String = new String();
bt1.onPress = function(){
    alvo.loadMovie('animacao.swf');
}
bt2.onPress = function(){
    alvo.play();
    string = "bola.swf"
    alvo.onEnterFrame = descarrega;
}
function descarrega(){
    if(alvo._currentframe == alvo._totalframes){
        alvo.unloadMovie();
        alvo.loadMovie(string);
    }
}

Agora você vai descarregar um clip e carregar outro na mesma ação

 

Abraços

Compartilhar este post


Link para o post
Compartilhar em outros sites

Ola moderador. tudo em paz?!

Espero que sim.

Gostei muito dos seus tópicos e você entende bem do assunto.

No desenvolvimento do Website surgiu mais uma duvida.hehehe

gostaria que me ajudasse.

1-eu sei trabalhar com barra de rolagem no flash(UIScrollbar).

Porém,gostaria de contruir uma barra personalizada, e não trabalhar com uma barra padrão do flash.

 

Um abraço!

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.