ricardo_mc 19 Denunciar post Postado Setembro 9, 2009 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
Thiago de Oliveira Cruz 21 Denunciar post Postado Setembro 9, 2009 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
ricardo_mc 19 Denunciar post Postado Setembro 9, 2009 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
ricardo_mc 19 Denunciar post Postado Setembro 9, 2009 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
Thiago de Oliveira Cruz 21 Denunciar post Postado Setembro 9, 2009 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
ricardo_mc 19 Denunciar post Postado Setembro 10, 2009 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
leila•trupe 1 Denunciar post Postado Setembro 10, 2009 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
ricardo_mc 19 Denunciar post Postado Setembro 10, 2009 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