Ir para conteúdo

POWERED BY:

Arquivado

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

samanancy

[Resolvido]slideshow/loadmovies

Recommended Posts

Ola, preciso de uma ajuda num trabalho que estou a fazer em flash, então é assim:

 

Tenho o ficheiro principal que chama vários swfs externos, cada swf externo tem uma imagem com animação e respectivo preload, a minha duvida é, qual o cógido que coloco nas frames do meu ficheiro princial para que só passe para a frame seguinte (loadmovie) quando o loadmovie for totalmente carregado? Pois é um slideshow e não tem botões nem stops para que o direccione para outra frame.

 

No ficheiro principal dei várias frames para haver tempo das imagens irem aparecendo, mas se um pc tiver net lenta, as imagens não tem tempo de se mostrarem só chega a fazer preload de cada imagem e não chega a dar tempo de serem visualizadas.

 

Se alguém me poder ajudar fico muito agradecida.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Faz o loading no frame principal. Fica mais fácil.

 

Usa assim:

 

Cria um MC vazio, sem conteudo, só para usar para colocar o conteúdo dentro. no meu caso uso ele com o nome da instancia de "vazio", meu carregando fica dentro de um mc chamado "carr", quando eu inicio o filme coloco carr._visible = false; para ele ficar oculto e só aparecer quando eu chamar. Dentro do car eu tenho um campo de text chamado pct que é onde exibe a porcentagem e um mc chamado linha que é minha barra.

 

No meu caso quando ele termina de carregar ele exuta um play no filme, você pode mudar e colocar para ele executar um setInterval, assim depois de carregar ele exibe a imgem e depois de x tempo ele carrega outra imagem.

 

CODE
vazio.loadMovie('interna_personagens.swf');

 

this.onEnterFrame = function() {

total = vazio.getBytesTotal();

loaded = vazio.getBytesLoaded();

pct = Math.round((loaded/total)*100);

if(total > 0) {

carr.total.text = pct+'%';

carr.nave._x = pct*3;

carr.linha._xscale = pct;

} else {

carr.total.text = '0%';

carr.linha._xscale = 0;

}

if (pct == 100) {

carr._visible = false;

delete this.onEnterFrame;

play();

}

};

Compartilhar este post


Link para o post
Compartilhar em outros sites

E tb ao invés de criar varios frames pra dar tempo, utilize a funcao setInterval, vai deixar seu swf com menor tamanho.

abs

Compartilhar este post


Link para o post
Compartilhar em outros sites

Faz o loading no frame principal. Fica mais fácil.

 

Usa assim:

 

Cria um MC vazio, sem conteudo, só para usar para colocar o conteúdo dentro. no meu caso uso ele com o nome da instancia de "vazio", meu carregando fica dentro de um mc chamado "carr", quando eu inicio o filme coloco carr._visible = false; para ele ficar oculto e só aparecer quando eu chamar. Dentro do car eu tenho um campo de text chamado pct que é onde exibe a porcentagem e um mc chamado linha que é minha barra.

 

No meu caso quando ele termina de carregar ele exuta um play no filme, você pode mudar e colocar para ele executar um setInterval, assim depois de carregar ele exibe a imgem e depois de x tempo ele carrega outra imagem.

 

CODE
vazio.loadMovie('interna_personagens.swf');

 

this.onEnterFrame = function() {

total = vazio.getBytesTotal();

loaded = vazio.getBytesLoaded();

pct = Math.round((loaded/total)*100);

if(total > 0) {

carr.total.text = pct+'%';

carr.nave._x = pct*3;

carr.linha._xscale = pct;

} else {

carr.total.text = '0%';

carr.linha._xscale = 0;

}

if (pct == 100) {

carr._visible = false;

delete this.onEnterFrame;

play();

}

};

 

 

Olá, desde ja obrigada pela ajuda, ja estou a usar mc vazio para os loadmovies, e penso que conseguiria resolver se no ficheiro externo onte esta a animação, na ultima frame deste eu lhe dissesse para ir para a _root do ficheiro principal frame 2. ou seja no ficheiro principal na frame 1 ele chama o swf externo, quando swf externo termina a animaçao, saltaria para a frame 2 do ficheiro principal, que por sua vez vai chamar o outro swf externo e assim sucessivamente. Só preciso do código para colocar no ultimo frame dos meus swfs externos. será qualquer coisa como: _root._root.gotoandplay(2) ? ou: _root.("ficheiro-principal.swf").gotoandplay(2) já testei varias hipoteses e não consegui.

 

Será possivel fazer isto com loadmovie? obrigada

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.