Jump to content
Fórum Script Brasil
  • 0

Galeria De Imagens


Gutto
 Share

Question

Peguei essa galeria desenvolvida pelo Lucas Ferreira, que funciona perfeitamente.

Fiz algumas alterações para poder exibir a descrição da propridade junto com cada foto. O problema é que a descrição só fica visível quando se clica na imagem, e eu quero que cada imagem venha com a descrição visível junto com a respectiva imagem.

arquivos para download

ActionScript

//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.desc = f[i].attributes.desc;
//Alterei para pegar o atributo Descrição do arquivo fotos.xml



                novaimg.img_p = f[i].attributes.fp;
                novaimg.img_g = f[i].attributes.fg;
                fotos.push(novaimg); //inserindo objeto no array
            }


loadMovie(f['0'].attributes.fg, img_grande); 
//Carrega a primeira imagem ampliada



//chamando função que faz a galeria...
            criaGaleria();
        }
    };
    //load no arquivo .xml
    loadDados.load("fotosteste.xml");
}
//função que cria a galeria
function criaGaleria():Void {
    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(){
        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, 4, 2, 80, 60, 4, 70);
    //
    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 que 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 já 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;



//informando ou passando, para miniatura, qual é sua descrição...
_root.miniaturas["fp_"+info.iObj].desc = fotos[info.index].desc;



        //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].img_p.loadMovie(fotos[info.index].img_p);
        //definindo ação de clique na miniatura, para ampliar...
        _root.miniaturas["fp_"+info.iObj].onRelease = function(){
            //usando o obj mvlIMG, para carregar a imagem grande...
            mvlIMG.loadClip(this.img_g, img_grande);


            
this.createTextField("descricao_"+this.propriedade_id,1+this.propriedade_id,10,100,100,30);
this["descricao_"+this.propriedade_id].text = this.desc;



        
        }
    };
    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);
    //
    //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); //todos voltam menos o atual...
        }
        //definindo o frame que 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();
este último trecho é responsável por exibir a descrição de cada imagem:
this.createTextField("descricao_"+this.propriedade_id,1+this.propriedade_id,10,100,100,30);
        this["descricao_"+this.propriedade_id].text = this.desc;
Como alterar para que a descrição venha junto com as imagens, sem precisar clicar para poder ver o texto? ***************************** Resolvido ***************************** Basta colocar este código no frame 1 do mc miniatura:
this.createTextField("descricao_"+this.propriedade_id,1+this.propriedade_id,10,100,100,30);
        this["descricao_"+this.propriedade_id].text = this.desc;

Edited by Gutto
Link to comment
Share on other sites

0 answers to this question

Recommended Posts

There have been no answers to this question yet

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Answer this question...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

 Share



  • Forum Statistics

    • Total Topics
      150.2k
    • Total Posts
      647.5k
×
×
  • Create New...