Ir para conteúdo

POWERED BY:

Arquivado

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

Recommended Posts

entao tenho esse xml que adicionei atributi link e descricao e queria q o flash acessa esses atributos cada foto tem a descricao e um link de cada foto so nao consegui colocar isso no codigo AS se alguem puder ajudar

 

<?xml version="1.0" encoding="UTF-8"?>
<fotos>
  <foto fp="imgs/foto1p.jpg" fg="imgs/foto1g.jpg" link="link1" descricao="desc foto1"/> 
  <foto fp="imgs/foto2p.jpg" fg="imgs/foto2g.jpg" link="link2" descricao="desc foto2"/> 
  <foto fp="imgs/foto3p.jpg" fg="imgs/foto3g.jpg" link="link3" descricao="desc foto3"/> 
  <foto fp="imgs/foto4p.jpg" fg="imgs/foto4g.jpg" link="link4" descricao="desc foto4"/> 
  <foto fp="imgs/foto5p.jpg" fg="imgs/foto5g.jpg" link="link5" descricao="desc foto5"/> 
  <foto fp="imgs/foto6p.jpg" fg="imgs/foto6g.jpg" link="link6" descricao="desc foto6"/> 
  <foto fp="imgs/foto7p.jpg" fg="imgs/foto7g.jpg" link="link7" descricao="desc foto7"/> 
  <foto fp="imgs/foto8p.jpg" fg="imgs/foto8g.jpg" link="link8" descricao="desc foto8"/> 
  <foto fp="imgs/foto9p.jpg" fg="imgs/foto9g.jpg" link="link9" descricao="desc foto9"/> 
  <foto fp="imgs/foto10p.jpg" fg="imgs/foto10g.jpg" link="link10" descricao="desc foto10"/> 
</fotos>

 

 

 

codigo em AS galeria de img

 

 

import mx.effects.Tween;

var i:Number = 0, coluna:Number = 0, linha:Number = 0, len:Number = 0;
var dados:Array;
var carregar:MovieClipLoader = new MovieClipLoader();
System.useCodepage = true;
var fotos:XML = new XML();
// A variával qc (quantidade de colunas) vai definir quantas colunas serão exibidadas por página
var qc:Number = 2;
//A variável ql(quantidade de linhas) vai definir quantas linhas serão exibidadas por página
var ql:Number = 2;
// Há também a variável qp (quantidade de páginas). Essa quantidade vai ser definida de acordo com a quantidade de imagens que temos no XML 
var qp:Number = 0;
// Defina um array chamado mcs.
var mcs:Array = []
fotos.ignoreWhite = true;
fotos.load("fotos.xml");

fotos.onLoad = function() {
dados = this.firstChild.childNodes;
len = dados.length;
//trace(len);
//Agora, faça o cálculo para ver quantas páginas serão necessárias para a quantidade
//de imagens que existem no XML, e atribua esse valor à variável qp (quantidade de páginas)
//Para isso, use o método estático da classe Math ceil. Mas o que esse método faz?
//Ele arredonda o valor que foi passado como argumento, para cima ou para baixo, para o inteiro mais próximo e retorna esse valor.
qp = Math.ceil((len-1)/(qc*ql));
//A condicional abaixo verifica se a variável qp é maior 1, caso verdadeiro ele vai executar a função criaPaginacao
//Se não executa apenas a função preencher
if(qp > 1){
//Executando a função criaPaginacao, passe como argumento a variável len 
criaPaginacao(len)
}else{
preencher(coluna,linha)
}
};
function preencher(coluna:Number, linha:Number):Void {
var mc:MovieClip = container.attachMovie("item_mc", "i["+coluna+"]["+linha+"]", container.getNextHighestDepth());




mc._x = Math.round(coluna*mc._width+coluna);

mc._y = Math.round(linha*mc._height+linha);

mc._xscale = mc._yscale=0;

mc.url_fotop = dados[i].attributes.fp;
mc.url_fotog = dados[i].attributes.fg;


mc.onRelease = function() {
carregarFoto(this.url_fotog, fotog);
};


mc.onTweenUpdate = function(p) {
this._xscale = this._yscale=p;
};


animate(mc);
//Usando o método push do array mcs.
mcs.push(mc);
};//fim preencher


function animate(mc:MovieClip):Void {
mc.tween = new Tween(mc, 0, 100, 200);

mc.onTweenEnd = function(p):Void {
this.onTweenUpdate(p);
carregarFoto(this.url_fotop, this.foto);
i++, coluna++;
//E na condicional if, verifica duas condições:
// - Se a variável coluna é maior ou igual a variável qc;
// - Se a variável linha é maior ou igual a variável ql;
//Caso a condição seja verdadeira, damos um return para sair da função.
if (coluna>=qc && linha>=ql){
return;
};
//Na condicional a seguir, verifica também duas condições:
// - Se a variável coluna é igual a variável qc;
// - Se a variável linha é menor que a variável ql;
//Caso a condição seja verdadeira, atribua zero à variável coluna e incremente a variável linha.
if (coluna==qc && linha<ql) {
coluna = 0;
linha++;
};

if(i<len){
preencher(coluna, linha);
};
};
};
function carregarFoto(url:String, target:MovieClip):Void {
carregar.loadClip(url, target);
};
// A função removeAll será responsável por remover todos os movieclips das fotos existentes.
// Quando ocorrer a mudança de uma página para a outra
function removeAll():Void{
// Crie um loop for, para remover os movieclips das fotos da página anterior.
for(var i:Number = 0, len = mcs.length;i<len;i++) {
// Use o método removeMovieClip para retirar os MovieClips das fotos pequenas
mcs[i].removeMovieClip();
}
//Zere o array mcs para gravar as próximas imagens a partir do indice 0 do array;
mcs=[]
}
//A função ativar é responsável por deixar o MovieClip da página que foi clicado desabilitado, e habilitar todos os outros.
function ativar(num:Number):Void{
// O loop for abaixo vai servir para definir quais dos MovieClips da paginação vão ficar habilitados, e o que ficará desabilitado.
for(var i =0;i<qp;i++){
//Aqui a condicional if verifica se num (argumento da função) é diferente de “i”
//Caso a condicional seja verdadeira, ele habilita o MovieClip, e o remete para o frame 1
//Caso contrário (que seria o else), ele define a propriedade enabled do movieclip como false, e o remete para o frame 3
if(num != i){
// Use o método gotoAndStop, e envie o movieclip para o frame 1
eval("paginacao.p"+i).gotoAndStop(1);
// Defina a propriedade enabled do movieclip como true
eval("paginacao.p"+i).enabled = true; 
}else{
// Use o método gotoAndStop, e envie o movieclip para o frame 3
eval("paginacao.p"+i).gotoAndStop(3);
// Defina a propriedade enabled do movieclip como false;
eval("paginacao.p"+i).enabled = false;
};
};
};
/* Função criaPaginacao - é a função responsável por exibir a quantidade de páginas de acordo com o cálculo que vamos criar. Essa função recebe como argumento um número que corresponde à quantidade de imagens.
*/
function criaPaginacao(qtd):Void{
//A variável len vai receber o argumento qtd, que contém a quantidade de imagens.
var len = qtd;
//Agora, vamos fazer o cálculo para ver quantas páginas serão necessárias para a quantidade
//de imagens que existem no XML, e atribuir esse valor à variável qp (quantidade de páginas).
for(var paginas:Number = 0,total = qp; paginas<total; paginas++){
// Use o método attachMovie para:
var pg = paginacao.attachMovie("pag_mc","p"+paginas,paginacao.getNextHighestDepth())
//Faça o posicionamento dos MovieClips da paginação
pg._x = Math.round(paginas * pg._width + paginas);
// Aqui faça o cálculo da variável páginas vezes a quantidade de colunas vezes a quantidades de linhas. Isso vai retornar
// a partir do ponto do XML em que as fotos devem ser carregadas.
pg.idpag = paginas*(qc*ql);
// Exiba no campo de texto de cada MovieClip da paginação o número da página.
//Observe que usei a variável paginas+1, porque começamos a contar a partir da página 0.
pg.n_txt.text = paginas+1;



/////////////////////////////////////////////////////////////////////////////////////////////////
//Defina o evento onRollOver para quando o usuário passar o
//mouse em cima de qualquer MovieClip das páginas. O evento envia o MovieClip para o frame 2.
pg.onRollOver = function(){
//Use o método gotoAndStop, para remeter o movieclip para o frame 2.
this.gotoAndStop(2);
};
/////////////////////////////////////////////////////////////////////////////////////////////////




//A variável atual é definida em cada movieclip durante o loop for.
//Atribua a ela o valor da variável páginas. Vamos usar essa variável mais adiante para executar a função ativar.
pg.atual = paginas;
//No evento de onRollOut e onReleaseOutside dos MovieClips das páginas, mande o MovieClip para o frame 1.
pg.onRollOut = pg.onReleaseOutside = function(){
//Use o método gotoAndStop, enviando o movieclip para o frame 1.
this.gotoAndStop(1)
};
pg.onRelease = function(){
//Execute a função removeAll para retirar todas as imagens existentes, quando a troca 
// de uma página para outra ocorrer.
removeAll();
//Execute a função ativar, passando como argumento da função a variável atual, 
//juntamente com o escopo this. 
ativar(this.atual);
//Agora atribua o mesmo valor da variável “idpag” para a variável “i”;
i = this.idpag;
// Atribua o valor da variável coluna como sendo 0, para que na troca de páginas, 
// o posicionamento das imagens sempre seja na coluna 0.
coluna = 0;
// Faça a mesma coisa para linha, pois isso irá fazer com que as imagens sempre começem 
// na posição 0 .
linha = 0;
//Execute a função preencher, passando as variáveis linha e coluna nos argumentos dessa função.
preencher(coluna,linha);
};
};
//Execute o evento de onRelease do MovieClip da página 1, e assim a página 1 vai ficar marcada.
paginacao.p0.onRelease();
};

Compartilhar este post


Link para o post
Compartilhar em outros sites

entao adicionei essas linhas em negrito mas nao funcionou se alguem puder ajudar....

 

 

import mx.effects.Tween;

var i:Number = 0, coluna:Number = 0, linha:Number = 0, len:Number = 0;

var dados:Array;

var carregar:MovieClipLoader = new MovieClipLoader();

System.useCodepage = true;

var fotos:XML = new XML();

// A variával qc (quantidade de colunas) vai definir quantas colunas serão exibidadas por página

var qc:Number = 2;

//A variável ql(quantidade de linhas) vai definir quantas linhas serão exibidadas por página

var ql:Number = 2;

// Há também a variável qp (quantidade de páginas). Essa quantidade vai ser definida de acordo com a quantidade de imagens que temos no XML

var qp:Number = 0;

// Defina um array chamado mcs.

var mcs:Array = [];

fotos.ignoreWhite = true;

fotos.load("fotos.xml");

fotos.onLoad = function() {

dados = this.firstChild.childNodes;

len = dados.length;

//trace(len);

//Agora, faça o cálculo para ver quantas páginas serão necessárias para a quantidade

//de imagens que existem no XML, e atribua esse valor à variável qp (quantidade de páginas)

//Para isso, use o método estático da classe Math ceil. Mas o que esse método faz?

//Ele arredonda o valor que foi passado como argumento, para cima ou para baixo, para o inteiro mais próximo e retorna esse valor.

qp = Math.ceil((len-1)/(qc*ql));

//A condicional abaixo verifica se a variável qp é maior 1, caso verdadeiro ele vai executar a função criaPaginacao

//Se não executa apenas a função preencher

if (qp>1) {

//Executando a função criaPaginacao, passe como argumento a variável len

criaPaginacao(len);

} else {

preencher(coluna, linha);

}

};

function preencher(coluna:Number, linha:Number):Void {

var mc:MovieClip = container.attachMovie("item_mc", "i["+coluna+"]["+linha+"]", container.getNextHighestDepth());

mc._x = Math.round(coluna*mc._width+coluna);

mc._y = Math.round(linha*mc._height+linha);

mc._xscale = mc._yscale=0;

mc.url_fotop = dados.attributes.fp;

mc.url_fotog = dados.attributes.fg;

 

 

this.attachMovie("desc_mc", "label", i+30, {_y:50+100, _x:120});

this.label.descricao_txt.text = dados.attributes.descricao;

 

 

 

mc.onRelease = function() {

carregarFoto(this.url_fotog, fotog);

};

mc.onTweenUpdate = function(p) {

this._xscale = this._yscale=p;

};

animate(mc);

//Usando o método push do array mcs.

mcs.push(mc);

}

//fim preencher

function animate(mc:MovieClip):Void {

mc.tween = new Tween(mc, 0, 100, 200);

mc.onTweenEnd = function(p):Void {

this.onTweenUpdate(p);

carregarFoto(this.url_fotop, this.foto);

i++, coluna++;

//E na condicional if, verifica duas condições:

// - Se a variável coluna é maior ou igual a variável qc;

// - Se a variável linha é maior ou igual a variável ql;

//Caso a condição seja verdadeira, damos um return para sair da função.

if (coluna>=qc && linha>=ql) {

return;

}

//Na condicional a seguir, verifica também duas condições:

// - Se a variável coluna é igual a variável qc;

// - Se a variável linha é menor que a variável ql;

//Caso a condição seja verdadeira, atribua zero à variável coluna e incremente a variável linha.

if (coluna == qc && linha<ql) {

coluna = 0;

linha++;

}

if (i<len) {

preencher(coluna, linha);

}

};

}

function carregarFoto(url:String, target:MovieClip):Void {

carregar.loadClip(url, target);

}

// A função removeAll será responsável por remover todos os movieclips das fotos existentes.

// Quando ocorrer a mudança de uma página para a outra

function removeAll():Void {

// Crie um loop for, para remover os movieclips das fotos da página anterior.

for (var i:Number = 0, len = mcs.length; i<len; i++) {

// Use o método removeMovieClip para retirar os MovieClips das fotos pequenas

mcs.removeMovieClip();

}

//Zere o array mcs para gravar as próximas imagens a partir do indice 0 do array;

mcs = [];

}

//A função ativar é responsável por deixar o MovieClip da página que foi clicado desabilitado, e habilitar todos os outros.

function ativar(num:Number):Void {

// O loop for abaixo vai servir para definir quais dos MovieClips da paginação vão ficar habilitados, e o que ficará desabilitado.

for (var i = 0; i<qp; i++) {

//Aqui a condicional if verifica se num (argumento da função) é diferente de “i”

//Caso a condicional seja verdadeira, ele habilita o MovieClip, e o remete para o frame 1

//Caso contrário (que seria o else), ele define a propriedade enabled do movieclip como false, e o remete para o frame 3

if (num != i) {

// Use o método gotoAndStop, e envie o movieclip para o frame 1

eval("paginacao.p"+i).gotoAndStop(1);

// Defina a propriedade enabled do movieclip como true

eval("paginacao.p"+i).enabled = true;

} else {

// Use o método gotoAndStop, e envie o movieclip para o frame 3

eval("paginacao.p"+i).gotoAndStop(3);

// Defina a propriedade enabled do movieclip como false;

eval("paginacao.p"+i).enabled = false;

}

}

}

/* Função criaPaginacao - é a função responsável por exibir a quantidade de páginas de acordo com o cálculo que vamos criar. Essa função recebe como argumento um número que corresponde à quantidade de imagens.

*/

function criaPaginacao(qtd):Void {

//A variável len vai receber o argumento qtd, que contém a quantidade de imagens.

var len = qtd;

//Agora, vamos fazer o cálculo para ver quantas páginas serão necessárias para a quantidade

//de imagens que existem no XML, e atribuir esse valor à variável qp (quantidade de páginas).

for (var paginas:Number = 0, total = qp; paginas<total; paginas++) {

// Use o método attachMovie para:

var pg = paginacao.attachMovie("pag_mc", "p"+paginas, paginacao.getNextHighestDepth());

//Faça o posicionamento dos MovieClips da paginação

pg._x = Math.round(paginas*pg._width+paginas);

// Aqui faça o cálculo da variável páginas vezes a quantidade de colunas vezes a quantidades de linhas. Isso vai retornar

// a partir do ponto do XML em que as fotos devem ser carregadas.

pg.idpag = paginas*(qc*ql);

// Exiba no campo de texto de cada MovieClip da paginação o número da página.

//Observe que usei a variável paginas+1, porque começamos a contar a partir da página 0.

pg.n_txt.text = paginas+1;

/////////////////////////////////////////////////////////////////////////////////////////////////

//Defina o evento onRollOver para quando o usuário passar o

//mouse em cima de qualquer MovieClip das páginas. O evento envia o MovieClip para o frame 2.

pg.onRollOver = function() {

//Use o método gotoAndStop, para remeter o movieclip para o frame 2.

this.gotoAndStop(2);

};

/////////////////////////////////////////////////////////////////////////////////////////////////

//A variável atual é definida em cada movieclip durante o loop for.

//Atribua a ela o valor da variável páginas. Vamos usar essa variável mais adiante para executar a função ativar.

pg.atual = paginas;

//No evento de onRollOut e onReleaseOutside dos MovieClips das páginas, mande o MovieClip para o frame 1.

pg.onRollOut = pg.onReleaseOutside=function () {

//Use o método gotoAndStop, enviando o movieclip para o frame 1.

this.gotoAndStop(1);

};

pg.onRelease = function() {

//Execute a função removeAll para retirar todas as imagens existentes, quando a troca

// de uma página para outra ocorrer.

removeAll();

//Execute a função ativar, passando como argumento da função a variável atual,

//juntamente com o escopo this.

ativar(this.atual);

//Agora atribua o mesmo valor da variável “idpag” para a variável “i”;

i = this.idpag;

// Atribua o valor da variável coluna como sendo 0, para que na troca de páginas,

// o posicionamento das imagens sempre seja na coluna 0.

coluna = 0;

// Faça a mesma coisa para linha, pois isso irá fazer com que as imagens sempre começem

// na posição 0 .

linha = 0;

//Execute a função preencher, passando as variáveis linha e coluna nos argumentos dessa função.

preencher(coluna, linha);

};

}

//Execute o evento de onRelease do MovieClip da página 1, e assim a página 1 vai ficar marcada.

paginacao.p0.onRelease();

}

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.