Ir para conteúdo

POWERED BY:

Arquivado

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

DouglasP

Link na imagem + xml

Recommended Posts

Boa noite, to fazendo um flash para meu site e preciso que ele mostre as imgs de 1 xml,

fiz para uma imagem, meu xml ta assim:

 

<?xml version="1.0" encoding="iso-8859-1"?>
<galeria>
<foto legenda="Foto 1" foto="anuncio.png" link="http://www.google.com.br/">
</galeria>

e no flash assim:

System.useCodepage = true;
var arquivo:XML = new XML();
arquivo.load("fotos.xml");
arquivo.ignoreWhite = true;
arquivo.onLoad = function() {
	clipe2.loadMovie(this.childNodes[0].childNodes[0].attributes.foto);
	link.text = this.childNodes[0].childNodes[0].attributes.link;
}

ai ele exibe a img e o link dela,

porem preciso por que ao clicar nessa imagem abra o link que ta no xml.

 

grato.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Coloca um botão na foto uai.....

System.useCodepage = true;
var arquivo:XML = new XML();
arquivo.load("fotos.xml");
arquivo.ignoreWhite = true;
arquivo.onLoad = function() {
	clipe2.loadMovie(arquivo.firstChild.childNodes.attributes.foto);
	link.text = arquivo.firstChild.childNodes.attributes.link;
	clipe2.onPress = function(){
		 getURL(arquivo.firstChild.childNodes.attributes.link, _blank);
	}
}

Abraços

Compartilhar este post


Link para o post
Compartilhar em outros sites

O link aparece no campo de texto???

 

Quando você manda ele aparecer lá?

 

Se aparece basta mudar pro seu código uai...

Eu só coloquei um demonstrativo com seus nomes..

System.useCodepage = true;
var arquivo:XML = new XML();
arquivo.load("fotos.xml");
arquivo.ignoreWhite = true;
arquivo.onLoad = function() {
	clipe2.loadMovie(this.childNodes[0].childNodes[0].attributes.foto);
	link.text = this.childNodes[0].childNodes[0].attributes.link;
	clipe2.onPress = function(){
		 getURL(this.childNodes[0].childNodes[0].attributes.link, _blank);
	}
}

Se o link não aparece nem no campo de texto... significa que você não ta dando o caminho correto

 

veja com trace

trace(this.childNodes[0].childNodes[0].attributes.link);

 

Se não existir é pq ta errado

 

E para facilitar sua vida normalmente você coloca o caminho incial todo em 1 unica variavel tipo

var cn = this.firstChild.childNodes;

 

Assim vai ter todo o caminho ai basta chamar

cn ou no seu caso 0

cn[0].attributes.link ou .foto

 

Abraços

Compartilhar este post


Link para o post
Compartilhar em outros sites

Você está testando com o swf com acesso a net ou apenas local??

 

Se for isso você colocando a opção acess only network, lá no publish settings pode resolver esse problema..

 

Mas teste na web antes... com o arquivo dentro de um html.

 

E para saber se o botão ta funcionando perfeitamente coloque um trace("click"); dentro da função do botão ai teste no local mesmo. Se ele responder click é pq ele ta entrando normalmente no botão e não teria motivos a não ser o bloqueio de sandBox do Flash player 9 para não acessar a web.

 

Teste ai e veja se da tudo certo

 

Abraços

Compartilhar este post


Link para o post
Compartilhar em outros sites

O link....

Que você ta colocando no XML está aparecendo no campo de texto como eu te perguntei antes?

 

Poderia fornecer o código todo... ou o fla para verificar o que ta acontecendo?

 

Abraços

Compartilhar este post


Link para o post
Compartilhar em outros sites

o código todo é so isso amigo:

System.useCodepage = true;
var arquivo:XML = new XML();
arquivo.load("fotos.xml");
arquivo.ignoreWhite = true;
arquivo.onLoad = function() {
	clipe2.loadMovie(this.childNodes[0].childNodes[0].attributes.foto);
	link.text = this.childNodes[0].childNodes[0].attributes.link;
}

e sim apareçe o link do xml no flash certinho, ate a img.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Então faça o seguinte.

 

Coloque o attributo em uma variavel chamada como string

 

se faz assim:

var url:String = this.childNodes[0].childNodes[0].attributes.link;

 

Só que para não dar problema

declare fora da sua função assim:

var url:String = new String();
System.useCodepage = true;
var arquivo:XML = new XML();
arquivo.load("fotos.xml");
arquivo.ignoreWhite = true;
arquivo.onLoad = function() {
	clipe2.loadMovie(this.childNodes[0].childNodes[0].attributes.foto);
	url = this.childNodes[0].childNodes[0].attributes.link;
	link.text = this.childNodes[0].childNodes[0].attributes.link;
}

clipe2.onRelease = function(){
getURL(url, _blank); // ou se preferir abrir na mesma janela use _self... procure os metodos de getURL no help do flash para entender melhor
};

Ai agora deve dar para abrir o link.

 

Abraços

Compartilhar este post


Link para o post
Compartilhar em outros sites

arrumei, criei uma variavel global e chamei o link por ela na img.

 

agora so preciso fze um slide show disso tudo.

la vou eu morre denovo u.u

Compartilhar este post


Link para o post
Compartilhar em outros sites

tm como eu cria um slide show simples agora?

so preciso que carregue as fotos do xml e passe mais nada.

 

como faço?

grato.

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.