Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

jpbraconi

- Galeria de fotos

Recommended Posts

Bom, sou novo aqui e estou fazendo um site em flash e encontrei o seguinte problema...

 

 

 

usei este tutorial para fazer a galeria - Galeria

 

até aí, tudo bem, quando eu abro o "galeria.swf" sozinho, ele funciona perfeitamente, o problema vem a seguir

 

Estou usando o index.swf para dar load em todas as outras páginas, seja home, galeria, contato.....

Então, quando eu abro o index e clico la em galeria, as fotos não aparecem, aparecem os números das páginas até, no caso, 1, 2 e 3, só as fotos não carregam

 

para fazer o menu eu usei este tutorial - Menu

 

Ambos tutoriais são aqui do iMasters

 

Alguém aí pode me ajudar???????

 

 

 

códigos

 

MENU

 

CODE
var mcl:MovieClipLoader = new MovieClipLoader();

//Instanciamos um objeto da classe MovieClipLoader, a qual é responsável por carregar arquivos externos (.swf e .jpg) .

var listener:Object = new Object();

//Este objeto da classe Object será responsável por monitorar o carregamento dos arquivos externos.

mcl.addListener(listener);

//Relacionamos os dois objetos, o que fará que o objeto "listener" monitore o objeto "mcl"

//Nota: Sempre que possível crie funções para organizar seus blocos de código... lembrando que funções são blocos de códigos mais legíveis e reutilizáveis.

function carregar(arquivo) {

mcl.loadClip(arquivo,alvo_mc);

}

//A função "carregar" tem como objetivo facilitar alterações no nome da instância do MovieClip alvo do carregamento do arquivo externo, o qual iremos perceber sua real utilidade enquanto desenvolvemos.

carregar("home.swf");

//Chamo a função carregar para iniciar com o arquivo empresa aberto.

function ativarPreloader(ativar) {

preloader_mc._visible = ativar;

}

//A função "ativarPreloader" tem o objetivo semelhante ao da função carregar, facilitando alterações no nome de instância do MovieClip "preloader".

//EVENTOS DO MENU

home_mc.onRelease = function() {

carregar("home2.swf");

};

aulas_mc.onRelease = function() {

carregar("aulas.swf");

};

pilates_mc.onRelease = function() {

carregar("pilates.swf");

};

beneficios_mc.onRelease = function() {

carregar("beneficios.swf");

};

equipe_mc.onRelease = function() {

carregar("equipe.swf");

};

dicas_mc.onRelease = function() {

carregar("dicas.swf");

};

fotos_mc.onRelease = function() {

carregar("fotos.swf");

 

};

contato_mc.onRelease = function() {

carregar("contato.swf");

};

 

GALERIA

 

CODE
//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.attributes.fp;

novaimg.img_g = f.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 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].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_", 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_", 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();

Compartilhar este post


Link para o post
Compartilhar em outros sites

bom.. já descobri onde deve ser o problema...

quando eu tento usar esse código na galeria funciona

 

 

CODE
//inicio

// habilita o uso de caracteres especiais

System.useCodepage = true;

// cria uma nova variavel xml

var nomeXML:XML = new XML();

// carrega o arquivo xml

nomeXML.load("meuXML.xml");

// ignora espeços em branco

nomeXML.ignoreWhite = true;

// variavel que sera usada como posição atual

a=0;

// ao carregar o xml...

nomeXML.onLoad = function() {

// total é a variável que recebe o número total de nós do XML

total = this.childNodes.length;

// carrega no img0 o link para img que está no nó 0 IMAGEM

img.loadMovie((this.childNodes[a].attributes.imagem), 0);

};

 

proxima.onPress = function(){

// testando para verificar se não é a última posição do XMl

if (a+1<total){

// auto-incremento

a=a+1;

//campo nome recebe nome do arquivo

nome.text = (nomeXML.childNodes[a].attributes.imagem);

// carrega a imagem

img.loadMovie((nomeXML.childNodes[a].attributes.imagem), 0);

}

};

 

anterior.onPress = function(){

// testando para verificar se não é a última posição do XMl

if (a-1>=0){

// auto-incremento

a=a-1;

//campo nome recebe nome do arquivo

nome.text = (nomeXML.childNodes[a].attributes.imagem);

// carrega a imagem

img.loadMovie((nomeXML.childNodes[a].attributes.imagem), 0);

}

};

 

 

Então, provavelmente o problema é no código da galeria q eu estou usando...

só não uso esse código acima pq o que eu quero fica mais didático e o cliente já aprovou!

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.