// 24.04.07
Tutorial: Galeria Flash + XML
Flash, Tutoriais, XMLPreparei este tutorial para mostrar a integração do Flash com o XML para criação de uma simples galeria.
O resultado final será semelhante a este:

Começaremos criando uma pasta com o nome de “fotos†e colocaremos as fotos que serão exibidas, para este exemplo utilizaremos: foto1.jpg, foto2.jpg, foto3.jpg e foto4.jpg. Todas no tamanho 384×322px.
Agora vamos para o arquivo galeria.xml, utilize o seu editor de preferência e adicione o seguinte código:
<?xml version="1.0" encoding="iso-8859-1"?>
<galeria>
<foto imagem="fotos/carro1.jpg" titulo="Carro 1" legenda="Descrição carro 1"/>
<foto imagem="fotos/carro2.jpg" titulo="Carro 2" legenda="Descrição carro 2"/>
<foto imagem="fotos/carro3.jpg" titulo="Carro 3" legenda="Descrição carro 3"/>
<foto imagem="fotos/carro4.jpg" titulo="Carro 4" legenda="Descrição carro 4"/>
</galeria>
Salve no mesmo nÃvel da pasta “fotosâ€.
Abra um novo documento no flash com o tamanho de 384×322px, crie mais 2 layers e nomeie as três com os seguintes nomes (obedecendo a seqüência):
- Actions
- Botões
- Espaço
Layer Espaço:
Crie um MovieClip em branco e arraste para o palco, no canto superior esquerdo, instanciando com o nome de “espacoâ€
Layer Botões:
Crie uma barra com preenchimento de 50% na cor que desejar no tamanho 384×54px e coloque-o no canto inferior esquerdo.
Crie os botões que serão para passar para a imagem anterior ou próxima imagem e instancie com os nomes: “anterior†e “proximo“ respectivamente.
Com o TextTool crie 2 Dynamics Texts, instanciados com os seguintes nomes: “titulo†e “legendaâ€.
A imagem deverá ficar parecida com esta:

Layer Actions:
Para finalizar, clique no 1º frame e abra o painel actions (F9) e adicione o seguinte código:
//Utilizado para que o flash interprete os acentos
System.useCodepage = true;
//Declaração das variáveis e tipos
var espaco:MovieClip;
var anterior:Button;
var proximo:Button;
var titulo:TextField;
var legenda:TextField;
var j:Number = 0;
//Declaração do XML
var arquivo:XML = new XML();
//Arquivo que será carregado
arquivo.load(”galeria.xml”);
//Ignorar espaços em branco do XML
arquivo.ignoreWhite = true;
//função responsável pela exibição das imagens
function carregaItens(num:Number) {
//verifica a quantidade de Ãtens do XML
qteXml = arquivo.childNodes[0].childNodes.length;
//quando for clicando e chegar ao final das imagens, carrega a primeira novamente
if(j>=qteXml){
j=0;
//quando for clicando e chegar ao inÃcio das imagens, carrega a última
} else if(j<0){
j=qteXml-1;
}
//carregar a imagem dentro do MovieClip "espaco"
espaco.loadMovie(arquivo.childNodes[0].childNodes[j].attributes.imagem);
//atribuindo o valor ao DynamicText "titulo"
titulo.text = arquivo.childNodes[0].childNodes[j].attributes.titulo;
//atribuindo o valor ao DynamicText "legenda"
legenda.text = arquivo.childNodes[0].childNodes[j].attributes.legenda;
}
//função para carregar o próximo Ãtem
function exProx(){
j++;
carregaItens(j);
}
//função para carregar o Ãtem anterior
function exAnt(){
j--;
carregaItens(j);
}
//carregar o primeiro item da galeria
arquivo.onLoad = carregaItens;
//eventos dos botões
proximo.onRelease = exProx;
anterior.onRelease = exAnt;
[ Baixar Galeria ]

April 25th, 2007 at 8:41 am
Muito bom, uma outra maneira de fazer, e dessa vez independente dos painéis do Flash. Vlw
May 6th, 2007 at 5:07 pm
muito bom… mas depois se puder corrige ai o espaço com “ç” na hora que manda instanciar…
quem seguir vai se confundir…
falou…
October 14th, 2007 at 5:09 pm
muito bom e facil de modificar ^^
tava procurando assim faz muito tempo e achei por engano seu blog e essa galeria maravilhosa
ah poe ae no tuto q vc pode por .swf alem d imagem pra exibir
November 18th, 2007 at 4:50 pm
muito boa essa galeria, como estou iniciando o aprendizado de criação em flash consegui com exito fazer esta galeria.
December 30th, 2007 at 7:34 pm
Você é o cara! Gasta seu tempo para ajudar as pessoas. Vou pedir uma coisa, tem como as fotos dos carros ficarem alternando de 10 em 10 segundos? Se puder me mandar instruções de como fazer, ficarei muito grato.
Sucesso e Feliz Ano Novo!
March 11th, 2008 at 7:31 pm
vlw kra me ajudo mt
March 28th, 2008 at 10:14 am
Obrigado José, esse tipo de programação sim, é coisa de programador que entende, parabéns, seu script é de fácil entendimento, eficiente e com poucas linhas de código, resumindo é perfeito. Obrigado mesmo.
May 7th, 2008 at 9:33 am
Nossa!!! Mtoo obrigada!!!
Funcionou legal aki!! xDD o//
May 15th, 2008 at 3:15 pm
muito bom,
realmente o Ç
ferra com agnte
xD
mas com atenção agnte resolve…
vlw, tão simples e a galera complica tanto…
May 29th, 2008 at 8:47 am
Cara achei muito legal, como poderia fazer pra que alternasse a cada 5 segundos?
June 4th, 2008 at 2:17 pm
Boa tarde!
Eu tinha o Sr. no meu msn, se mudou peço se possÃvel me adicionar em seu novo ruy@emultiserver.net ou ruyur@hotmail.com, o ano passado o Sr. me auxiliou muito no desenvolvimento de uma galeria de fotos. mas agora necessito de uma grande ajuda e disposto a pagar pela mesma.
July 23rd, 2008 at 3:47 pm
Excelente galeria simples mas muito funcional..parabens….
August 11th, 2008 at 5:02 pm
cara mto bom mesmo so gostaria de saber se ha um maneira simples de colocar um preloader antes das fotos serem abertas !! obrigado