Usamos cookies para medir audiência e melhorar sua experiência. Você pode aceitar ou recusar a qualquer momento. Veja sobre o iMasters.
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
>
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;
}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??
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;
}Bom, agradeço no que puder ajudar.
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
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
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.
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
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