Ir para conteúdo

POWERED BY:

Arquivado

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

Brunolerin

[Resolvido] Botão com Xml

Recommended Posts

Boa a Noite a todos,

Tenho um botão muito bacana que alimentado via xml, mas ele só tem como receber uma informação como "nome", mas queria q ele recebesse tbm outra informação tipo "data".

bom o xml está assim:

<?xml version="1.0" encoding="utf-8"?>
<menu>
	<item>
		<texto><![CDATA[Bruno]]></texto>
		<link><![CDATA[http://www.meusite.com.br]]></link>
	</item>
	
	<item>
		<texto><![CDATA[Bruno2]]></texto>
		<link><![CDATA[http://www.meusite2.com.br]]></link>
	</item>
</menu>

Na teoria para ter a segunda informação seria assim, né?

 

<?xml version="1.0" encoding="utf-8"?>
<menu>
	<item>
		<texto><![CDATA[Bruno]]></texto>
		<link><![CDATA[http://www.meusite.com.br]]></link>

		<texto2><![CDATA[11/09/82]]></texto2>
	</item>
	
	<item>
		<texto><![CDATA[Bruno 2]]></texto>
		<link><![CDATA[http://www.meusite2.com.br]]></link>

		<texto><![CDATA[24/01/10]]></texto>
	</item>
</menu>

Quanto a isso acredito q seja isso mas acho q o problema esteja no action, veja:

 

//Vamos começar criando o objeto responsável pelo xml
var dados:XML = new XML();

//Vamos ignorar os espaços em branco
dados.ignoreWhite = true;

//Carregamos o xml
dados.load('home.xml');

//Quando o xml for carregado
dados.onLoad = function():Void {

//vamos pegar a quantidade de itens que há no xml
qtd = this.childNodes[0].childNodes.length;

/*
vamos criar um laço de repetição gerando botoes
de acordo com a quantidade de itens
*/

for(i=0; i<qtd; i++){

//agora duplicamos o MovieClip ‘bt’ que é o nosso modelo
bt.duplicateMovieClip('bt' + i, _root.getNextHighestDepth());

//configuramos a altura do novo botao
_root['bt'+i]._y+=i*122;

//pegmaos no xml o texto desse botao

_root['bt'+i].t = this.childNodes[0].childNodes[i].childNodes[0].firstChild;

//e colocamos o texto no campo de texto dinamico do botao
_root['bt'+i].texto.text = _root['bt'+i].t;

//pegamos o link do botao no xml
_root['bt'+i].link = this.childNodes[0].childNodes[i].childNodes[1].firstChild;

//criamos a funcao para quando o botao for pressionado
_root['bt'+i].onPress = function(){
getURL(this.link);
}

//criamos a funcao rollover para o botao
_root['bt'+i].onRollOver = function(){
this.gotoAndStop(2);
}

//Criamos a função rollout
_root['bt'+i].onRollOut = function(){
this.gotoAndStop(1);
}

}

//Removemos o MovieClip ‘bt’ que funcionou como molde

bt.unloadMovie();
}

bom espero q me ajudem, desde já muito obrigado

Compartilhar este post


Link para o post
Compartilhar em outros sites

primeiro você vai criar mais uma caixa de texto dinâmica, e dar um nome de instancia (vou usar texto2)

 

e no código você define o 'conteudo' dessa caixa de texto, de acordo com o xml, adicionando uma linha como essa dentro do laço for:

 

_root['bt'+i].texto2.text = this.childNodes[0].childNodes[i].childNodes[2].firstChild;

fiz isso baseado no código que você postou.

O acesso à xml é um dos motivos de eu nem me interessar em aprender AS2.

 

[]'s

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.