peguei um AS e estou tentando adaptar pro meu uso.
eh um image viewer. ele le um XML e coloca no stage 10 tumbs do lado esq, dividido em 2 colunas q quando clicado
aparece a foto do lado direito.
tenho uma pasta com as fotos e uma com os tumbs. esta tudo funcionando mas eu quero que aparece um comentario
dizendo o que significa cada foto.
a principio criei um arquivo txt pra colocar numa caixa de texto como variavel, mas ai nao teria
como saber qual tumb foi clicado pra puxar a variavel certa, entao pensei em acrescentar mais uma variavel no XML pra que ele leia
junto com as outras, mas nao estou sabendo como apresentar isso no palco. sera que alguem pode me ajudar?
============= o XML esta assim ========================
<?xml version="1.0" encoding="UTF-8"?>
<fotos>
<foto fg="pasta/nome da foto.jpg" fp="pasta/pasta tumb/nome do tumb.jpg"/> (====== O XML estava assim=========)
<foto fg="pasta/nome da foto.jpg" fp="pasta/pasta tumb/nome do tumb.jpg" coment="este seria o comentario da foto"/> (==== eu inseri isto=====)
</fotos>
=============Este eh o AS aqui ========================
AS
//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 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_" 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();
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 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_" 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();

Help














