Preparei 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:
Resultado Final Galeria


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:
Ãtens

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 ]