Ir para conteúdo

POWERED BY:

Arquivado

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

ricardo_mc

Load em vários SWFs externos em diferentes frames

Recommended Posts

Bom, o título não está muito claro, portanto é o seguinte. Eu estou montando um site todo em Flash que possui algumas galerias de fotos.

 

Essas galerias estão como SWF externo, e cada galeria é carregada em um frame diferente. Elas estão programadas para carregar as fotos externamente por um XML.

 

O modelo do site por enquanto está aqui:

 

www.unlock.com.br/luciusteste

 

A questão é que como esse Load de imagens por galeria é externo, acaba demorando um pouco para carregar todas as fotos.

 

As galerias estão nos frames 7, 8 e 9, sendo que nos frames 3 a 6 são textos, e o 1 e 2 são o preloader.

 

 

É possível eu começar a carregar as fotos que vão abrir nos frames "7, 8 e 9" enquanto eu ainda estou no frame 3 (por exemplo)? Porque dessa forma já adiantava o processo e quando a pessoa clicasse em uma das galerias, boa parte (se não todas) as imagens já teriam sido carregadas.

 

Se não ficar muito claro me avisem e já agradeço adiantado!! http://forum.imasters.com.br/public/style_emoticons/default/grin.gif

Compartilhar este post


Link para o post
Compartilhar em outros sites

Sim você deixa 3 MC que vão carregar essas galerias... com visible = 0

Carrega o conteudo nelas... e só no frame delas da visible = 1 e deixa visible = 0 nas que não estão sendo usadas

 

Abraços

Compartilhar este post


Link para o post
Compartilhar em outros sites

Sim você deixa 3 MC que vão carregar essas galerias... com visible = 0

Carrega o conteudo nelas... e só no frame delas da visible = 1 e deixa visible = 0 nas que não estão sendo usadas

 

Abraços

 

Opa, como sempre você ajudando a galera :D

 

Eu tinha pensado nisso também, mas o problema é que não está dando certo.

 

As 3 galerias estão em 3 layers separados, sendo que eu coloquei elas para rodarem pelos frames 3 a 10.

 

Na layer 1, eu coloquei 1 keyframe em cada frame (entre o 3 e o 10) e coloquei o código:

stop();
gallery_female._lockroot = true;
gallery_female.loadMovie("gallery_female.swf");

gallery_male._lockroot = true;
gallery_male.loadMovie("gallery_male.swf");

gallery_child._lockroot = true;
gallery_child.loadMovie("gallery_child.swf");

gallery_female._visible = 0;
gallery_male._visible = 0;
gallery_child._visible = 0;

Já tentei com _root e this, mas nenhum dos dois funcionou, e tbm troquei o 0 e 1 por false e true, e mesmo assim nada.

 

 

Como as galerias são chamadas por botões, eu tbm tentei colocar o seguinte código no primeiro botão:

on (release) {
   gotoAndStop(3);
   gallery_female._visible = 0;
   gallery_male._visible = 0;
   gallery_child._visible = 0;
}

Mas acontece que quando eu clico no botão, ele vai para o frame correto e mesmo assim carrega direto as galerias. Apenas se eu clicar novamente em cima do botão (enquanto no frame correto) as galerias ficam invisíveis.

 

Já tentei colocar a visibilidade antes do gotoAndStop, e tbm tentei com o _root e this.

 

você tem alguma idéia de como resolver isso??

Compartilhar este post


Link para o post
Compartilhar em outros sites

Olha, eu andei testando um bocado de coisas, e consegui deixar invisível usando o onClipEvent(load).

 

O problema é que ao invés de eu colocar o MC para rodar em vários frames seguidos, eu tenho que colocar um keyframe em cada frame (onde ele vai se repetir), sendo que em cada keyframe eu tenho que selecionar o MC e colocar esse código:

 

onClipEvent (load) {
   this._visible = 0;
}

Tem que ser assim mesmo ou tem alguma forma mais prática?

 

 

Caso seja, eu estava tentando colocar o AS apenas na layer 'Script', ao invés de ter que colocar diretamente no objeto, mas eu não estou conseguindo fazer isso.

 

gallery_female.onClipEvent (load) {
	this._visible = 0;
}

Mas aí ele diz que falta um campo após o operador "."

 

Bom, agradeço no que puder ajudar.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Hmmm

 

Bom onClipEvent(load) = ao onLoadInit do MovieClipLoader classe usada para carregamento de MovieClips

 

O fato é o seguinte, se você tem 3 galerias não importa se elas estão sendo carregadas todas juntas ou não o fato é que elas tem que aparecer somente quando você quer...

 

Exemplo:

var mcl:MovieClipLoader = new MovieClipLoader();
var obj:Object = new Object()
var i:Number;
mcl.addListener(obj);

var mcs:Array = new Array(gallery_female,gallery_male,gallery_child);//Aqui são as instancias dos MovieClips
var gl:Array = new Array('galeria1.swf', 'galeria2.swf', 'galeria3.swf');


function init(){
mcl.loadClip(gl[i], mcs[i]);
}

obj.onLoadInit = function(){
arr[i]._visible = 0;
i++;
if(i < arr.length){
init();
}
}

Basicamente isso ai nos botões você da _visible 1 para as que você quer... e 0 para que tem que ficar invisivel...

 

Abraços

Compartilhar este post


Link para o post
Compartilhar em outros sites

Bom, eu não me entendi muito bem em como usar essa função que você me passou, mas vlw pela ajuda, vou usar a outra forma usando o onClipEvent(load) :D

 

Preciso dar uma estudada em AS :P

Compartilhar este post


Link para o post
Compartilhar em outros sites

Ricardo,

Tem uma coisa que é o seguinte... se você tem o código do AS no frame1 indicando como caminho um MC que só existe a partir do frame2 (em diante), quando ele executa o código no frame1 ele ainda não "viu" os seus MCs. Então por isso você tem que colocar todas as galerias no frame1, e dar _visible = false nas que só aparecerão nos outros frames, e quando chegar nos frames que você querer mostrar as galerias você dá _visible = true.

 

Por isso o _visible não funcionou antes (eu acho). Seu código está em lugar onde o MC ainda não existe.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Eita, pqp, mlz ae gente. Alguma coisa bugou aki, q a cada vez que eu desse refresh na tela, o fórum estava gerando outro post automaticamente.

 

Mlz pelo incoveniente, se der apaga os outros. http://forum.imasters.com.br/public/style_emoticons/default/excl.gif http://forum.imasters.com.br/public/style_emoticons/default/pinch.gif http://forum.imasters.com.br/public/style_emoticons/default/pinch.gif http://forum.imasters.com.br/public/style_emoticons/default/pinch.gif http://forum.imasters.com.br/public/style_emoticons/default/excl.gif

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.