Daniela Pereira Postado Maio 8, 2009 Denunciar Share Postado Maio 8, 2009 (editado) Oi Gente,Sou nova aqui e estou precisando de uma ajudinha. :unsure: Baixei uma galeria pronta e estou tentando reformular ela.Só que a primeira imagem não aparece de pronto, apenas quando clico na primeira imagem.Gostaria de saber qual código tenho que inserir nela para a primeira imagem aparecer logo 'de cara'.Vou colocar os códigos para darem uma analisada:Action://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("fotos.xml");}//função que cria a galeriafunction 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, 8, 2, 80, 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 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; //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); } }; 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 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();--------------------------------------------------------------------------------------------Distribute:import mx.events.EventDispatcher;dynamic class Distribute { var _nObjs:Number, _npp:Number, _cols:Number; var __width:Number, __height:Number, _spacex:Number, _spacey:Number; function Distribute(n:Number,npp:Number,cols:Number,w:Number,h:Number,sx:Number,sy:Number) { _nObjs = n; __width = w; __height = h; _spacex = sx; _spacey = sy; _npp = npp; _cols = cols; //iniciando dispachador de eventos... EventDispatcher.initialize(this); } public function nDepth(alvo:Object):Number { return alvo.getNextHighestDepth(); } public function get nPages():Number { return Math.ceil(_nObjs / _npp); } public function showPage(pgAtual:Number):Void { var objGal = this; var _iCount = (pgAtual-1) * _npp; var _iColumm = 0; var _iLine = 0; var _xAtual:Number = 0; var _yAtual:Number = 0; //evento inicio de pagina... var listStartGalDist:Object = {type:"onDistStart", pg: pgAtual}; objGal.dispatchEvent(listStartGalDist); //loop dos objetos... for(var i:Number = 1; i<=_npp; i++){ if(_iCount >= _nObjs) break; //calculo de x e y... if(_iColumm == 0){ _xAtual = 0; } else if(_iColumm < _cols) { _xAtual += (_spacex + __width); } else { _iLine++; _xAtual = 0; _yAtual = (_spacey + __height) * _iLine; _iColumm = 0; } //dispachando eventos onGalDist... var listGalDist:Object = {type:"onDistUpdate", index: _iCount, iObj: i, x: _xAtual, y: _yAtual}; objGal.dispatchEvent(listGalDist); //somando ao i de index... _iColumm++; _iCount++; } //evento termino de pagina... var listEndGalDist:Object = {type:"onDistEnd", pg: pgAtual}; objGal.dispatchEvent(listEndGalDist); }}--------------------------------------------------------------------------------------------XML: <?xml version="1.0" encoding="UTF-8" ?> - <fotos> <foto fp="imgs/foto1p.jpg" fg="imgs/foto1g.jpg" /> <foto fp="imgs/foto2p.jpg" fg="imgs/foto2g.jpg" /> <foto fp="imgs/foto3p.jpg" fg="imgs/foto3g.jpg" /> <foto fp="imgs/foto4p.jpg" fg="imgs/foto4g.jpg" /> <foto fp="imgs/foto5p.jpg" fg="imgs/foto5g.jpg" /> <foto fp="imgs/foto6p.jpg" fg="imgs/foto6g.jpg" /> <foto fp="imgs/foto7p.jpg" fg="imgs/foto7g.jpg" /> <foto fp="imgs/foto8p.jpg" fg="imgs/foto8g.jpg" /> <foto fp="imgs/foto9p.jpg" fg="imgs/foto9g.jpg" /> <foto fp="imgs/foto10p.jpg" fg="imgs/foto10g.jpg" /> <foto fp="imgs/foto11p.jpg" fg="imgs/foto11g.jpg" /> <foto fp="imgs/foto12p.jpg" fg="imgs/foto12g.jpg" /> </fotos>--------------------------------------------------------------------------------------------Aguardo gente... obrigada desde já!!! Editado Maio 11, 2009 por Daniela Pereira Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 Pooh Postado Maio 9, 2009 Denunciar Share Postado Maio 9, 2009 (editado) Olá Daniela ^_^Bom não cheguei a olhar muita coisa, o que é necessário somente é achar aonde lee carrega o movie com a imagem desejada;já se tratanod de uma galera com miniaturas e fotos grandes, imagina-se que quando se clika em uma miniatura aconteça a mágica então procurei por isso e achei algo assim ://usando o obj mvlIMG, para carregar a imagem grande... mvlIMG.loadClip(this.img_g, img_grande); } A função mvlIMG.loadClip(this.img_g, img_grande); é quem carrega suas fotos grandes através do parâmetro "this.img_g" que no seu caso é o caminho da imagem; _root.miniaturas["fp_"+info.iObj].img_g = fotos[info.index].img_g; Aqui foi definido nossa "this.img_g" que é igual a fotos[numero da miniatura].img_g, Fotos é uma array que guardou todos os caminhos das fotos que você colocou no xml, por exemplo fotos[0].img_g = "imgs/foto1g.jpg" é isso que ele chama; Resumindo na teoria para carregar logo de cara sua foto você tem de chamar a função "mvlIMG.loadClip" com os seguintes parâmetros: mvlIMG.loadClip(fotos[0].img_g,img_grande); O que chamaria a primeira foto grande; já aonde você vai colocar esse comando, achei bem viável ele ser colocado no evento "objGal1.onDistEnd" pois é o Marco de que ele acabou de distribuir todas as fotos em deus devidos lugares :) objGal1.onDistEnd = function(info:Object) { //ação de distribuição completa, exibindo mc Conteiner, chamado de miniaturas... miniaturas._visible = 1; }; Com a nossa função agora ficaria: objGal1.onDistEnd = function(info:Object) { //ação de distribuição completa, exibindo mc Conteiner, chamado de miniaturas... miniaturas._visible = 1; mvlIMG.loadClip(fotos[0].img_g,img_grande); };Bom imagino que seja esse seu problema, caso não resolva me passe os arquivos fontesque tentarei de uma forma mais adequada lhe auxiliarAbraçosPooh :) Editado Maio 9, 2009 por Pooh Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 Nittho Lima Postado Maio 9, 2009 Denunciar Share Postado Maio 9, 2009 Oi Daniela, td bemEstou a procura de uma galeria de imagens, você poderia me fornecer o link onde você pegou esse modelo.Desde já agradeço. Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 Daniela Pereira Postado Maio 11, 2009 Autor Denunciar Share Postado Maio 11, 2009 Oi Daniela, td bemEstou a procura de uma galeria de imagens, você poderia me fornecer o link onde você pegou esse modelo.Desde já agradeço.Oi gente...Obrigada... eu consegui usando um outro método... depois posto aki pra vocês verem.Baixei essa galeria desse cara:http://imasters.uol.com.br/artigo/3495/act...os_facillitada/Valeu!!! ;) Citar Link para o comentário Compartilhar em outros sites More sharing options...
Pergunta
Daniela Pereira
Oi Gente,
Sou nova aqui e estou precisando de uma ajudinha. :unsure:
Baixei uma galeria pronta e estou tentando reformular ela.
Só que a primeira imagem não aparece de pronto, apenas quando clico na primeira imagem.
Gostaria de saber qual código tenho que inserir nela para a primeira imagem aparecer logo 'de cara'.
Vou colocar os códigos para darem uma analisada:
Action:
//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("fotos.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, 8, 2, 80, 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 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;
//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);
}
};
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 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();
--------------------------------------------------------------------------------------------
Distribute:
import mx.events.EventDispatcher;
dynamic class Distribute {
var _nObjs:Number, _npp:Number, _cols:Number;
var __width:Number, __height:Number, _spacex:Number, _spacey:Number;
function Distribute(n:Number,npp:Number,cols:Number,w:Number,h:Number,sx:Number,sy:Number)
{
_nObjs = n;
__width = w;
__height = h;
_spacex = sx;
_spacey = sy;
_npp = npp;
_cols = cols;
//iniciando dispachador de eventos...
EventDispatcher.initialize(this);
}
public function nDepth(alvo:Object):Number
{
return alvo.getNextHighestDepth();
}
public function get nPages():Number
{
return Math.ceil(_nObjs / _npp);
}
public function showPage(pgAtual:Number):Void
{
var objGal = this;
var _iCount = (pgAtual-1) * _npp;
var _iColumm = 0;
var _iLine = 0;
var _xAtual:Number = 0;
var _yAtual:Number = 0;
//evento inicio de pagina...
var listStartGalDist:Object = {type:"onDistStart", pg: pgAtual};
objGal.dispatchEvent(listStartGalDist);
//loop dos objetos...
for(var i:Number = 1; i<=_npp; i++){
if(_iCount >= _nObjs) break;
//calculo de x e y...
if(_iColumm == 0){
_xAtual = 0;
} else if(_iColumm < _cols) {
_xAtual += (_spacex + __width);
} else {
_iLine++;
_xAtual = 0;
_yAtual = (_spacey + __height) * _iLine;
_iColumm = 0;
}
//dispachando eventos onGalDist...
var listGalDist:Object = {type:"onDistUpdate", index: _iCount, iObj: i, x: _xAtual, y: _yAtual};
objGal.dispatchEvent(listGalDist);
//somando ao i de index...
_iColumm++;
_iCount++;
}
//evento termino de pagina...
var listEndGalDist:Object = {type:"onDistEnd", pg: pgAtual};
objGal.dispatchEvent(listEndGalDist);
}
}
--------------------------------------------------------------------------------------------
XML:
<?xml version="1.0" encoding="UTF-8" ?>
- <fotos>
<foto fp="imgs/foto1p.jpg" fg="imgs/foto1g.jpg" />
<foto fp="imgs/foto2p.jpg" fg="imgs/foto2g.jpg" />
<foto fp="imgs/foto3p.jpg" fg="imgs/foto3g.jpg" />
<foto fp="imgs/foto4p.jpg" fg="imgs/foto4g.jpg" />
<foto fp="imgs/foto5p.jpg" fg="imgs/foto5g.jpg" />
<foto fp="imgs/foto6p.jpg" fg="imgs/foto6g.jpg" />
<foto fp="imgs/foto7p.jpg" fg="imgs/foto7g.jpg" />
<foto fp="imgs/foto8p.jpg" fg="imgs/foto8g.jpg" />
<foto fp="imgs/foto9p.jpg" fg="imgs/foto9g.jpg" />
<foto fp="imgs/foto10p.jpg" fg="imgs/foto10g.jpg" />
<foto fp="imgs/foto11p.jpg" fg="imgs/foto11g.jpg" />
<foto fp="imgs/foto12p.jpg" fg="imgs/foto12g.jpg" />
</fotos>
--------------------------------------------------------------------------------------------
Aguardo gente...
obrigada desde já!!!
Editado por Daniela PereiraLink para o comentário
Compartilhar em outros sites
3 respostass a esta questão
Posts Recomendados
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.