Ir para conteúdo
Fórum Script Brasil
  • 0

Galeria De Imagens


Gutto

Pergunta

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;

Editado por Gutto
Link para o comentário
Compartilhar em outros sites

0 respostass a esta questão

Posts Recomendados

Até agora não há respostas para essa pergunta

Participe da discussão

Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.

Visitante
Responder esta pergunta...

×   Você colou conteúdo com formatação.   Remover formatação

  Apenas 75 emoticons são permitidos.

×   Seu link foi incorporado automaticamente.   Exibir como um link em vez disso

×   Seu conteúdo anterior foi restaurado.   Limpar Editor

×   Você não pode colar imagens diretamente. Carregar ou inserir imagens do URL.



  • Estatísticas dos Fóruns

    • Tópicos
      152k
    • Posts
      651,8k
×
×
  • Criar Novo...