Jump to content


Photo

Preloaders Em Miniaturas


  • Faça o login para participar
1 reply to this topic

#1 PlaynowGames

PlaynowGames

    12 Horas

  • Usuários
  • 184 posts
  • Sexo:Não informado

Posted 14/03/2008, 11:49

System.useCodepage = true;import mx.effects.Tween;var i:Number = 0, coluna:Number = 0, linha:Number = 0, len:Number = 0;var dados:Array;var bg:String;var carregar = new MovieClipLoader();var fotos:XML = new XML();// A variával qc (quantidade de colunas) vai definir quantas colunas serão exibidadas por páginavar qc:Number = 2;//A variável ql(quantidade de linhas) vai definir quantas linhas serão exibidadas por páginavar ql:Number = 5;// Há também a variável qp (quantidade de páginas). Essa quantidade vai ser definida de acordo com a quantidade de imagens que temos no XMLvar qp:Number = 0;// Defina um array chamado mcs.var mcs:Array = []fotos.ignoreWhite = true;//fotos.load("xmls/"+_level0.nome+".xml");fotos.load("xmls/calcinhas.xml");fotos.onLoad = function() {dados = this.firstChild.childNodes;len = dados.length;//Agora, faça o cálculo para ver quantas páginas serão necessárias para a quantidade//de imagens que existem no XML, e atribua esse valor à variável qp (quantidade de páginas)//Para isso, use o método estático da classe Math ceil. Mas o que esse método faz?//Ele arredonda o valor que foi passado como argumento, para cima ou para baixo, para o inteiro mais próximo e retorna esse valor.qp = Math.ceil((len-1)/(qc*ql));//A condicional abaixo verifica se a variável qp é maior 1, caso verdadeiro ele vai executar a função criaPaginacao//Se não executa apenas a função preencherif(qp > 1){//Executando a função criaPaginacao, passe como argumento a variável lencriaPaginacao(len)}else{preencher(coluna,linha)}};function preencher(coluna:Number, linha:Number):Void {var mc:MovieClip = container.teste.attachMovie("item_mc", "i["+coluna+"]["+linha+"]", container.teste.getNextHighestDepth());mc._x = Math.round(coluna*mc._width+coluna);mc._y = Math.round(linha*mc._height+linha);mc.onRollOver = showMe;mc.onRollOut = hideMe;mc.url_fotop = dados[i].attributes.fp;mc.url_fotog = dados[i].attributes.fg;mc.titulo = dados[i].attributes.titulo;mc.desc = dados[i].attributes.desc;mc.ref = dados[i].attributes.ref;mc.onRelease=function(){trace(_root.bg)n = _root.bgcarregarFotoMaior(this.url_fotog, ane.pic.pic, this.titulo, this.desc, this.ref);carregarFotoSub(n, ane.pic_sub.pic, this.titulo, this.desc, this.ref);}mc.onPress = function() {showMe2();}function showMe2() {_root.ane.bf.gotoAndPlay(1);};function showMe() {this.janela.gotoAndPlay(2);};function hideMe() {this.janela.gotoAndPlay(8);};mc.onTweenUpdate = function(p) {this._xscale = this._yscale=p;};animate(mc);//Usando o método push do array mcs.mcs.push(mc);};function animate(mc:MovieClip):Void {mc.tween = new Tween(mc, 0, 100, 50);mc.onTweenEnd = function(p):Void {this.onTweenUpdate(p);carregarFoto(this.url_fotop, this.foto);i++, coluna++;//E na condicional if, verifica duas condições:// - Se a variável coluna é maior ou igual a variável qc;// - Se a variável linha é maior ou igual a variável ql;//Caso a condição seja verdadeira, damos um return para sair da função.if (coluna>=qc && linha>=ql){return;};//Na condicional a seguir, verifica também duas condições:// - Se a variável coluna é igual a variável qc;// - Se a variável linha é menor que a variável ql;//Caso a condição seja verdadeira, atribua zero à variável coluna e incremente a variável linha.if (coluna==qc && linha<ql) {coluna = 0;linha++;};if(i<len){preencher(coluna, linha);};};};function carregarFoto(url:String, target:MovieClip, titulo:String, desc:String, ref:String):Void {carregar.loadClip(url, target);};function carregarFotoMaior(url:String, target:MovieClip, titulo:String, desc:String, ref:String):Void {carregar.loadClip(url, target);_root.ane.bf.bfa.desc= "<b>"+titulo+"</b><br>"+desc+"";;_root.ane.bf.bfa.ref = ref;_root.bg = url;_root.ane.mask.gotoAndPlay(1);_root.ane.pic.gotoAndPlay(1);};function carregarFotoSub(url:String, target:MovieClip, desc:String, ref:String):Void {carregar.loadClip(url, target);};// A função removeAll será responsável por remover todos os movieclips das fotos existentes.// Quando ocorrer a mudança de uma página para a outrafunction removeAll():Void{// Crie um loop for, para remover os movieclips das fotos da página anterior.for(var i:Number = 0, len = mcs.length;i<len;i++) {// Use o método removeMovieClip para retirar os MovieClips das fotos pequenasmcs[i].removeMovieClip();}//Zere o array mcs para gravar as próximas imagens a partir do indice 0 do array;mcs=[]}//A função ativar é responsável por deixar o MovieClip da página que foi clicado desabilitado, e habilitar todos os outros.function ativar(num:Number):Void{// O loop for abaixo vai servir para definir quais dos MovieClips da paginação vão ficar habilitados, e o que ficará desabilitado.for(var i =0;i<qp;i++){//Aqui a condicional if verifica se num (argumento da função) é diferente de “iâ€//Caso a condicional seja verdadeira, ele habilita o MovieClip, e o remete para o frame 1//Caso contrário (que seria o else), ele define a propriedade enabled do movieclip como false, e o remete para o frame 3if(num != i){// Use o método gotoAndStop, e envie o movieclip para o frame 1eval("paginacao.p"+i).gotoAndStop(1);// Defina a propriedade enabled do movieclip como trueeval("paginacao.p"+i).enabled = true;}else{// Use o método gotoAndStop, e envie o movieclip para o frame 3eval("paginacao.p"+i).gotoAndStop(3);// Defina a propriedade enabled do movieclip como false;eval("paginacao.p"+i).enabled = false;};};};/* Função criaPaginacao - é a função responsável por exibir a quantidade de páginas de acordo com o cálculo que vamos criar. Essa função recebe como argumento um número que corresponde à quantidade de imagens.*/function criaPaginacao(qtd):Void{//A variável len vai receber o argumento qtd, que contém a quantidade de imagens.var len = qtd;//Agora, vamos fazer o cálculo para ver quantas páginas serão necessárias para a quantidade//de imagens que existem no XML, e atribuir esse valor à variável qp (quantidade de páginas).for(var paginas:Number = 0,total = qp; paginas<total; paginas++){// Use o método attachMovie para:var pg = paginacao.attachMovie("pag_mc","p"+paginas,paginacao.getNextHighestDepth())//Faça o posicionamento dos MovieClips da paginaçãopg._x = Math.round(paginas * pg._width + paginas);// Aqui faça o cálculo da variável páginas vezes a quantidade de colunas vezes a quantidades de linhas. Isso vai retornar// a partir do ponto do XML em que as fotos devem ser carregadas.pg.idpag = paginas*(qc*ql);// Exiba no campo de texto de cada MovieClip da paginação o número da página.//Observe que usei a variável paginas+1, porque começamos a contar a partir da página 0.pg.n_txt.text = paginas+1;//Defina o evento onRollOver para quando o usuário passar o//mouse em cima de qualquer MovieClip das páginas. O evento envia o MovieClip para o frame 2.pg.onRollOver = function(){//Use o método gotoAndStop, para remeter o movieclip para o frame 2.this.gotoAndStop(2);};//A variável atual é definida em cada movieclip durante o loop for.//Atribua a ela o valor da variável páginas. Vamos usar essa variável mais adiante para executar a função ativar.pg.atual = paginas;//No evento de onRollOut e onReleaseOutside dos MovieClips das páginas, mande o MovieClip para o frame 1.pg.onRollOut = pg.onReleaseOutside = function(){//Use o método gotoAndStop, enviando o movieclip para o frame 1.this.gotoAndStop(1)};pg.onRelease = function(){//Execute a função removeAll para retirar todas as imagens existentes, quando a troca// de uma página para outra ocorrer.removeAll();//Execute a função ativar, passando como argumento da função a variável atual,//juntamente com o escopo this.ativar(this.atual);//Agora atribua o mesmo valor da variável “idpag†para a variável “iâ€;i = this.idpag;// Atribua o valor da variável coluna como sendo 0, para que na troca de páginas,// o posicionamento das imagens sempre seja na coluna 0.coluna = 0;// Faça a mesma coisa para linha, pois isso irá fazer com que as imagens sempre começem// na posição 0 .linha = 0;//Execute a função preencher, passando as variáveis linha e coluna nos argumentos dessa função.preencher(coluna,linha);};};//Execute o evento de onRelease do MovieClip da página 1, e assim a página 1 vai ficar marcada.paginacao.p0.onRelease();};

alguem me ajuda a por um preloader nesse código? tanto nas minaturas como na imagem grande

é uma galeria de fotos com XML

tentei de tudo ja e nada!!

Edição feita por: AN Web Designer, 14/03/2008, 11:54.
Para códigos longos use o Codebox


#2 Pedropauloalmeida

Pedropauloalmeida

    Fale ao motorista somente o indispensável

  • Usuários
  • 1376 posts
  • Sexo:Masculino
  • Localidade:Santo André SP

Posted 16/03/2008, 23:55

Não.

Assim não dá.
Galera: postar um código enorme desse e pedir pra resolver um preloader é demais. Vamos filtrar, vamos ser específicos. Vamos colocar o seguinte: "Neste trecho do código é carregado a imagem. Como faço para, nesse ponto, tratar o carregamento e criar um preloader?"

Vamos ajudar quem está aqui pra ajudar.

abraços.

pp




0 user(s) are reading this topic

0 membro(s), 0 visitante(s) e 0 membros anônimo(s)

IPB Skin By Virteq