..:: MX Studio Fóruns ::..: Galeria de com setas - ..:: MX Studio Fóruns ::..

Jump to content

Publicidade




ATENÇÃO

Para evitar posts desnecessários e que não influam para o andamento e desenvolvimento do fórum, clique aqui e leia todas as regras.
Page 1 of 1
  • You cannot start a new topic
  • You cannot reply to this topic

Galeria de com setas Problema no código

#1 User is offline   rafascarvalho 

  • Group: Membros
  • Posts: 16
  • Joined: 06-July 06

Posted 18 September 2009 - 01:11 PM

Olá pessoal,

Montei uma galeria de fotos utilizando alguns códigos que que peguei na net e algumas outras coias que fui modificando, porém estou com um problema.

A galeria de fotos utiliza XML para carregar as fotos, faz a distribuição de páginas, tudo ok. Porém as setas que coloquei para navegar entre as fotos não estão utiliznado o mesmo new XML. Não consegui que utilizasse a mesma informação. Conclusão: quando navego na galeria pelas miniaturas as fotos mudam normalmente, porém quando uso as setas elas usam outra ordem. Isso está acontecendo pois não consegui utilizar o mesmo new XML que utilizo nas miniaturas.

Segue o código:

CÓDIGO
//variaveis da sequencia...
var fotos:Array = new Array();
//função de inicio do projeto...
function init():Void {
    //carregando xml...
    var loadDados:XML = new XML();
    loadDados.ignoreWhite = true;
    loadDados.onLoad = function(sucess) {
        if (sucess) {
            //primeiro nó: fotos;
            var f = this.firstChild.childNodes;
            //listando conteúdo do nó e inserindo no array de fotos
            for (var i = 0; i<f.length; i++) {
                var novaimg:Object = new Object();//criando o objeto de cada foto
                novaimg.img_p = f[i].attributes.fp;
                novaimg.img_g = f[i].attributes.fg;
                fotos.push(novaimg);//inserindo objeto no array
            }
            //chamando função q faz a galeria...
            criaGaleria();
        }
    };
    //load no arquivo .xml
    loadDados.load("Imagens/Galeria/Buffet/fotos.xml");
}
//função que cria a galeria
function criaGaleria():Void {
    mvlIMG.loadClip(this.img_g,img_grande);
    car._visible = 0;
    //preloader de imagens grande, usando MovieClipLoader...
    //fica livre para usar como quiser...
    var mvlIMG:MovieClipLoader = new MovieClipLoader();
    var mvlOBJ:Object = new Object();
    mvlOBJ.onLoadStart = function() {
        car._visible = 1;
    };
    mvlOBJ.onLoadProgress = function(obj, bl, bt) {
        var p = (Math.round(bl/bt)*100);//porcentagem carregada da imagem
        car.p.text = "Carregando... "+p+"%";
    };
    mvlOBJ.onLoadComplete = function() {
        import mx.transitions.*;
        import mx.transitions.easing.*;
        new Tween(img_grande, "_alpha", Back.easeOut, 0, 100, 2, true);
        car._visible = 0;
    };
    mvlIMG.addListener(mvlOBJ);
    //
    //criando sistema de galeria(quantidade de fotos, fotos por pagina, colunas, altura miniatura, largura, espacamento x, e y);
    _global.galeria1 = new Distribute(fotos.length, 11, 11, 65, 60, 4, 3);
    //
    var objGal1:Object = new Object();
    objGal1.onDistStart = function() {
        //ação de inicio da distribuição das fotos...
        //verifica se o mc já está no palco, caso esteja, remove para nova página...
        if (_root.miniaturas) {
            //removendo miniaturas anteriores na troca de pagina...
            _root.miniaturas.removeMovieClip();
        }
        //duplicando o mc conteiner q vai conter as miniaturas, para um novo que poder ser removido...                                
        _root.conteinerInicial.duplicateMovieClip("miniaturas",1);
        //definindo onde o mcConteiner deve aparecer...
        miniaturas._x = conteinerInicial._x;// _x
        miniaturas._y = conteinerInicial._y;// _y
        //escondendo...
        miniaturas._visible = 0;
    };
    //
    objGal1.onDistUpdate = function(info:Object) {
        //puxando da bliblioteca o mc com linkage miniatura, e ja posicionando de arquivo com o _x e _y passados pelo var info...
        _root.miniaturas.attachMovie("miniatura","fp_"+info.iObj,galeria1.nDepth(_root.miniaturas),{_x:info.x, _y:info.y});
        //informando ou passando, para miniatura, qual é sua foto grande...
        _root.miniaturas["fp_"+info.iObj].img_g = fotos[info.index].img_g;
        //criando o movie clip alvo para receber a img pequena, dentro do mc Conteiner...
        _root.miniaturas["fp_"+info.iObj].createEmptyMovieClip("img_p",1);
        //carregando thumb via loadMovie...
        _root.miniaturas["fp_"+info.iObj]._alpha = 50;
        _root.miniaturas["fp_"+info.iObj].onRollOver = function() {
            this._alpha = 100;
        };
        _root.miniaturas["fp_"+info.iObj].onRollOut = function() {
            this._alpha = 50;
        };

        _root.miniaturas["fp_"+info.iObj].img_p.loadMovie(fotos[info.index].img_p);
        //definindo ação de clique na miniatura, para ampliar...
        _root.miniaturas["fp_"+info.iObj].onRelease = function() {
            _root.Borda.swapDepths(2001);
            _root.Borda._x = (_root.miniaturas["fp_"+info.iObj]._x+42);
            _root.Borda._y = (_root.miniaturas["fp_"+info.iObj]._y+297.3);
            //usando o obj mvlIMG, para carregar a imagem grande...
            mvlIMG.loadClip(this.img_g,img_grande);
        };
    };
    objGal1.onDistEnd = function(info:Object) {
        //ação de distribuição completa, exibindo mc Conteiner, chamado de miniaturas...
        miniaturas._visible = 1;
    };
    //definindo ao objeto galeria1, os objetos e eventos que deve utilizar...
    galeria1.addEventListener("onDistStart",objGal1);
    galeria1.addEventListener("onDistUpdate",objGal1);
    galeria1.addEventListener("onDistEnd",objGal1);
    //Função dos botoes de avança e voltar
    var i:Number = 0;
    /////////////////////////////////////////////////////
    var nossoXML:XML = new XML();
    nossoXML.load("Imagens/Galeria/Buffet/fotos.xml");
    nossoXML.ignoreWhite = true;
    System.useCodepage = true;
    /////////////////////////////////////////////////////
    nossoXML.onLoad = function() {
        carrega();
    };
    /////////////////////////////////////////////////////
    function carrega() {
        import mx.transitions.*;
        import mx.transitions.easing.*;
        new Tween(img_grande, "_alpha", Back.easeOut, 0, 100, 2, true);
        img_grande.loadMovie(nossoXML.firstChild.childNodes[i-3].attributes.fg);
    }
    /////////////////////////////////////////////////////
    voltar.onRelease = function() {
        if (i == 0) {
            i = 26;
        } else {
            i--;
        }
        carrega();
    };
    /////////////////////////////////////////////////////
    avancar.onRelease = function() {
        if (i == 26) {
            i = 0;
        } else {
            i++;
        }
        carrega();
    };
    //montando paginação, pegase o nº de paginas e faz o paginador...
    //função responsável pelo click dos bts da paginação...
    function setPg(obj) {
        //restaurando todos bts, para o primeiro frame...
        for (i=0; i<galeria1.nPages; i++) {
            var mcPgAtual = this._parent["mcPg_" add i];
            if (mcPgAtual != this) {
                mcPgAtual.gotoAndStop(1);
                _root.Borda._x = -42;
                _root.Borda._y = -306.8;
            }
            //todos voltam menos o atual...                                
        }
        //definindo o frame q deve mostrar...
        this.lastFrame = 3;
        //mostrando página solicitada...
        var iAtual:Number = int(this.pg.text);
        galeria1.showPage(iAtual);
    }
    for (i=0; i<galeria1.nPages; i++) {
        //ataxando ao mc vazio, paginacao, os bts de página...
        var mcPgAtual = paginacao.attachMovie("mcPg", "mcPg_" add i, i);
        mcPgAtual._x = (i*(mcPgAtual._width+3));//posicionando bt no mc...
        mcPgAtual.pg.text = (i+1);//setando no bt, a pg dele...
        //definindo eventos e ações paga o bt da página...
        mcPgAtual.onRollOver = function() {
            //pega o frame atual e armazena, caso o bt seja o bt de página clicada...
            this.lastFrame = this._currentframe;
            //ao passar porcima acende
            this.gotoAndStop(2);
        };
        mcPgAtual.onRollOut = function() {
            this.gotoAndStop(this.lastFrame);
        };
        mcPgAtual.onRelease = setPg;

    }
    //
    //mostrando pagina 1 e setando o botão de pg 1...
    paginacao["mcPg_0"].gotoAndStop(3);
    galeria1.showPage(1);
}
//
//iniciando por fim, a galeria...
init();

0

#2 User is offline   Natan 

  • Group: Moderador Global
  • Posts: 7350
  • Joined: 28-February 04

Posted 19 September 2009 - 07:13 PM

Dá uma olhada nesse tutorial:

http://www.mxstudio.com.br/views.tutorial....d=3&aid=969

E neste tópico mostro como modificar ele para acrescentar as setas de próximo e anterior.

http://www.mxstudio.com.br/forum/index.php...st&p=159745

[]s
0

Share this topic:


Page 1 of 1
  • You cannot start a new topic
  • You cannot reply to this topic



Publicidade




1 User(s) are reading this topic
0 membro(s), 1 visitante(s) e 0 membros anônimo(s)