Ir para conteúdo

Arquivado

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

caps

[Resolvido] Preloader para swf's externos

Recommended Posts

Boa tarde.

O site que estou desenvolvendo abre alguns swf externos, de acordo com os botões.

Criei um mc, que vai ser o preloader, para cada swf.

Bom, ao clicar em um botão, o menu, que estava parado no frame 1, vai do frame 2 até o 50 onde fica parado novamente, e então, quando terminar a animação do menu se abrindo, abre o conteúdo cujo botão foi clicado. Caso o menu esteja aberto e eu clique novamente no botão clicado por último, o menu se fecha, vai do frame 51 em diante, fechando.

Agora, caso ele esteja aberto e o cliente clique num botão diferente do anteriormente clicado, o menu apenas fecha o conteúdo atual e abre o novo conteúdo do botão pressionado.

Então, o preloader deverá aparecer enquanto os swf sejam carregados, e quando acabar o carregamento, some, aparecendo então, o conteúdo.

De acordo como foi explicando antes, caso o menu esteja no frame 1,ele irá abrir e então quando chegar no frame 50 o preloader aparece e quando carregado totalmente o conteúdo, ele some e aparece o conteúdo, e caso o menu esteja aberto apenas some o conteúdo atual, aparece o preloader novamente, carregando o outro conteúdo e some de novo quando carregado.

Acho que deu pra entender, hehe... Caso haja alguma dúvida só falar.

 

 

homemc.onRollOver = function() {
this.gotoAndPlay(2);
}
homemc.onRollOut = function() {
this.gotoAndPlay(21);
}
homemc.onReleaseOutside = function() {
this.gotoAndPlay(21);
}
homemc.onRelease = function() {
loadMovieNum("som.swf",1);
ctrlAbertura("home.swf", "home");
}	

colecoesmc.onRollOver = function() {
this.gotoAndPlay(2);
}
colecoesmc.onRollOut = function() {
this.gotoAndPlay(21);
}
colecoesmc.onReleaseOutside = function() {
this.gotoAndPlay(21);
}
colecoesmc.onRelease = function() {
loadMovieNum("som.swf",1);
ctrlAbertura("coleções.swf", "coleções");
}

atendimentomc.onRollOver = function() {
this.gotoAndPlay(2);
}
atendimentomc.onRollOut = function() {
this.gotoAndPlay(21);
}
atendimentomc.onReleaseOutside = function() {
this.gotoAndPlay(21);
}
atendimentomc.onRelease = function() {
loadMovieNum("som.swf",1);
ctrlAbertura("atendimento.swf", "atendimento");
}
promocoesmc.onRollOver = function() {
this.gotoAndPlay(2);
}
promocoesmc.onRollOut = function() {
this.gotoAndPlay(21);
}
promocoesmc.onReleaseOutside = function() {
this.gotoAndPlay(21);
}
promocoesmc.onRelease = function() {
loadMovieNum("som.swf",1);
ctrlAbertura("promoções.swf", "promoções");
}

pagamentomc.onRollOver = function() {
this.gotoAndPlay(2);
}
pagamentomc.onRollOut = function() {
this.gotoAndPlay(21);
}
pagamentomc.onReleaseOutside = function() {
this.gotoAndPlay(21);
}
pagamentomc.onRelease = function() {
loadMovieNum("som.swf",1);
ctrlAbertura("pagamento.swf", "pagamento");
}

enderecomc.onRollOver = function() {
this.gotoAndPlay(2);
}
enderecomc.onRollOut = function() {
this.gotoAndPlay(21);
}
enderecomc.onReleaseOutside = function() {
this.gotoAndPlay(21);
}
enderecomc.onRelease = function() {
loadMovieNum("som.swf",1);
ctrlAbertura("endereço.swf", "endereço");
}

contatomc.onRollOver = function() {
this.gotoAndPlay(2);
}
contatomc.onRollOut = function() {
this.gotoAndPlay(21);
}
contatomc.onReleaseOutside = function() {
this.gotoAndPlay(21);
}
contatomc.onRelease = function() {
loadMovieNum("som.swf",1);
ctrlAbertura("contato.swf", "contato");
}

function ctrlAbertura(swf, sessao){
       conteudomc.swf = swf;
       if(sessao != conteudomc.sessao){
               conteudomc.onEnterFrame = function(){
                       if(conteudomc._currentframe != 50){
                               conteudomc.nextFrame();
							menumc.nextFrame();

                       } else {
                               conteudomc.sessao = sessao;
                               trace("carrega: " + this.swf);
			loadMovieNum(this.swf,3);
			delete this.onEnterFrame;

						    }

			}




       } else {
               conteudomc.onEnterFrame = function(){
                       if(conteudomc._currentframe != 1){
                               conteudomc.prevFrame();
			menumc.prevFrame();
		        unloadMovieNum(3);


                       } else {
                               conteudomc.sessao = "";
                               trace("voltou a animação");
			delete this.onEnterFrame;
					}
			}
	}
}

 

 

Como eu poderia fazer isto?

Desde já, grato.

 

Alguém sabe? :(

Compartilhar este post


Link para o post
Compartilhar em outros sites

Desculpe a insistência, mas preciso da ajuda de vocês o mais rápido possível!!

 

Estou postando novamente, pois estou abrindo o fórum e não aparece nenhum post, nem o que eu havia postado.

Pode ser um erro que está acontecendo apenas comigo, mas pra garantir, postei novamente, no mesmo tópico.

 

 

Boa tarde.

O site que estou desenvolvendo abre alguns swf externos, de acordo com os botões.

Criei um mc, que vai ser o preloader, para cada swf.

Bom, ao clicar em um botão, o menu, que estava parado no frame 1, vai do frame 2 até o 50 onde fica parado novamente, e então, quando terminar a animação do menu se abrindo, abre o conteúdo cujo botão foi clicado. Caso o menu esteja aberto e eu clique novamente no botão clicado por último, o menu se fecha, vai do frame 51 em diante, fechando.

Agora, caso ele esteja aberto e o cliente clique num botão diferente do anteriormente clicado, o menu apenas fecha o conteúdo atual e abre o novo conteúdo do botão pressionado.

Então, o preloader deverá aparecer enquanto os swf sejam carregados, e quando acabar o carregamento, some, aparecendo então, o conteúdo.

De acordo como foi explicando antes, caso o menu esteja no frame 1,ele irá abrir e então quando chegar no frame 50 o preloader aparece e quando carregado totalmente o conteúdo, ele some e aparece o conteúdo, e caso o menu esteja aberto apenas some o conteúdo atual, aparece o preloader novamente, carregando o outro conteúdo e some de novo quando carregado.

Acho que deu pra entender, hehe... Caso haja alguma dúvida só falar.

 

 

homemc.onRollOver = function() {
       this.gotoAndPlay(2);
}
homemc.onRollOut = function() {
       this.gotoAndPlay(21);
}
homemc.onReleaseOutside = function() {
       this.gotoAndPlay(21);
}
homemc.onRelease = function() {
       loadMovieNum("som.swf",1);
       ctrlAbertura("home.swf", "home");
}       

colecoesmc.onRollOver = function() {
       this.gotoAndPlay(2);
}
colecoesmc.onRollOut = function() {
       this.gotoAndPlay(21);
}
colecoesmc.onReleaseOutside = function() {
       this.gotoAndPlay(21);
}
colecoesmc.onRelease = function() {
       loadMovieNum("som.swf",1);
       ctrlAbertura("coleções.swf", "coleções");
}

atendimentomc.onRollOver = function() {
       this.gotoAndPlay(2);
}
atendimentomc.onRollOut = function() {
       this.gotoAndPlay(21);
}
atendimentomc.onReleaseOutside = function() {
       this.gotoAndPlay(21);
}
atendimentomc.onRelease = function() {
       loadMovieNum("som.swf",1);
       ctrlAbertura("atendimento.swf", "atendimento");
}
promocoesmc.onRollOver = function() {
       this.gotoAndPlay(2);
}
promocoesmc.onRollOut = function() {
       this.gotoAndPlay(21);
}
promocoesmc.onReleaseOutside = function() {
       this.gotoAndPlay(21);
}
promocoesmc.onRelease = function() {
       loadMovieNum("som.swf",1);
       ctrlAbertura("promoções.swf", "promoções");
}

pagamentomc.onRollOver = function() {
       this.gotoAndPlay(2);
}
pagamentomc.onRollOut = function() {
       this.gotoAndPlay(21);
}
pagamentomc.onReleaseOutside = function() {
       this.gotoAndPlay(21);
}
pagamentomc.onRelease = function() {
       loadMovieNum("som.swf",1);
       ctrlAbertura("pagamento.swf", "pagamento");
}

enderecomc.onRollOver = function() {
       this.gotoAndPlay(2);
}
enderecomc.onRollOut = function() {
       this.gotoAndPlay(21);
}
enderecomc.onReleaseOutside = function() {
       this.gotoAndPlay(21);
}
enderecomc.onRelease = function() {
       loadMovieNum("som.swf",1);
       ctrlAbertura("endereço.swf", "endereço");
}

contatomc.onRollOver = function() {
       this.gotoAndPlay(2);
}
contatomc.onRollOut = function() {
       this.gotoAndPlay(21);
}
contatomc.onReleaseOutside = function() {
       this.gotoAndPlay(21);
}
contatomc.onRelease = function() {
       loadMovieNum("som.swf",1);
       ctrlAbertura("contato.swf", "contato");
}

function ctrlAbertura(swf, sessao){
       conteudomc.swf = swf;
       if(sessao != conteudomc.sessao){
               conteudomc.onEnterFrame = function(){
                       if(conteudomc._currentframe != 50){
                               conteudomc.nextFrame();
                                                               menumc.nextFrame();

                       } else {
                               conteudomc.sessao = sessao;
                               trace("carrega: " + this.swf);
                               loadMovieNum(this.swf,3);
                               delete this.onEnterFrame;

                                                           }

                               }




       } else {
               conteudomc.onEnterFrame = function(){
                       if(conteudomc._currentframe != 1){
                               conteudomc.prevFrame();
                               menumc.prevFrame();
                               unloadMovieNum(3);


                       } else {
                               conteudomc.sessao = "";
                               trace("voltou a animação");
                               delete this.onEnterFrame;
                                               }
                               }
               }
}

 

 

Como eu poderia fazer isto?

Desde já, grato.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Bom... parece que o problema foi resolvido de uma forma muito simples.

Apenas em cada swf externo fiz um preloader na primeira cena que quando carregado vá para a segunda cena, um preloader normal...

 

Mas seria este o jeito certo de se fazer isto neste caso?

 

No aguardo.

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.