Ir para conteúdo

POWERED BY:

Arquivado

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

inx

[Resolvido] Menu dinâmico não aceita xml...

Recommended Posts

ok.. ok..

vamo lá..

seguinte pessoal..

 

Crio um mc xamado bt_meio e dentro dele um campo de texto xamado menus texto...

_root.createEmptyMovieClip("bt_meio", 20);
with (_root.bt_meio)
{
	_root.bt_meio.createTextField("menustexto",21,100,100,100,30);
	menustexto.multiline = false;
	menustexto.wordWrap = true;
	menustexto.selectable = false;
	formato = new TextFormat();
	formato.size = 12;
	formato.align = "center";
	formato.font = "Trebuchet MS";
	formato.color = 0x434343;
	formato.bullet = false;
	formato.bold = true;
	menustexto.setTextFormat(formato);
	menustexto.text = "queijo";
}

aha.. até aki ta easy.. fungo na boa...

porém...

quando carrego o xml, duplicos os mcs e tento inserir neles os valores..

 

var mano:XML = new XML();
mano.ignoreWhite = true;
mano.load('menu.xml');
mano.onLoad = function():Void  {
	qtd = this.childNodes[0].childNodes.length;
	for (i=0; i<qtd; i++) {
		bt_meio.duplicateMovieClip('bt_meio'+i,_root.getNextHighestDepth());
		_root['bt_meio'+i]._x += i*50;
		_root['bt_meio'+i].t = this.childNodes[0].childNodes[i].childNodes[0].firstChild;
		_root['bt_meio'+i].menustexto.text = _root['bt_meio'+i].t;
		_root['bt_meio'+i].link = this.childNodes[0].childNodes[i].childNodes[1].firstChild;
		_root['bt_meio'+i].onRelease = function() {
			gotoAndStop(this.link);
		};
	}
	bt_meio.unloadMovie();
};

ele simplesmente desaparece...

=S

 

não entendo o porque.. está tudo perfeitamente correto.. [eu axo]

 

alguém me ajuda?

+)

o xml ta assim:

<menu>
<item>
<texto>
<![CDATA[Um]]>
</texto>
<link>
<![CDATA[1]]>
</link>
</item>
</menu>

Compartilhar este post


Link para o post
Compartilhar em outros sites

Já verificou com trace()

 

O retorno desse XML se ele ta retornando alguma coisa???

 

Outra coisa CDATA é para html..... habilite no campo de texto html e chame o texto com instancia.htmlText em vez de instancia.text

 

Abraços

Compartilhar este post


Link para o post
Compartilhar em outros sites

Outra questão não sei como você ta fazendo duplicateMovie...

 

Mas não é assim...

 

E a caixa de texto deve ser colocada dentro do novo mc ou seja o duplicado.....

 

Ficando assim o código:

var mc:MovieClip = duplicar();

function duplicar(){
	_root.createEmptyMovieClip("bt_meio", 20);
}

var mano:XML = new XML();
mano.ignoreWhite = true;
mano.load('menu.xml');
mano.onLoad = function():Void  {
	qtd = this.childNodes[0].childNodes.length;
	for (i=0; i<qtd; i++) {
		mc = bt_meio.duplicateMovieClip('bt_meio'+i,_root.getNextHighestDepth());
		with (mc){		
			mc.createTextField("menustexto",21,100,100,100,30);
			menustexto.multiline = false;
			menustexto.wordWrap = true;
			menustexto.selectable = false;
			formato = new TextFormat();
			formato.size = 12;
			formato.align = "center";
			formato.color = 0x434343;
			formato.bullet = false;
			formato.bold = true;
			menustexto.setTextFormat(formato);
		}
		mc._x += i*50;
		mc.t = this.childNodes[0].childNodes[i].childNodes[0].firstChild;
		trace(mc.menustexto);		
		mc.menustexto.text = mc.t;
		mc.link = this.childNodes[0].childNodes[i].childNodes[1].firstChild;
		mc.onRelease = function() {
			gotoAndStop(this.link);
		};
	}
	bt_meio.unloadMovie();
};

E use trace() em tudo... sempre que tiver erros para verificar nomes... instancias... campos... etc

 

Qualquer coisa!

 

Abraços

Compartilhar este post


Link para o post
Compartilhar em outros sites

Pq assim, ele está sendo duplicado, mas o createTextField dentro dele não.

 

Ao invés de duplicar algo na função que chama o xml pq você não cria o botão e o createTextField dentro dele. Assim vai dar certo.

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.