Ir para conteúdo

POWERED BY:

Arquivado

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

Recommended Posts

Olá pessoal.

 

Será que alguém poderia me ajudar?? estou com um problema que não consigo resolver há dois dias, e é meio urgente.

 

É o seguinte, estou criando um sistema de banners em Flash e XML.

A intenção do laço abaixo é, a cada iteração do laço exibir um filme criado pela função mostraChamada, que pega os dados contidos no nó <item>, passado como parâmetro desta função, e monta um movieClip.

Está até dando certo, o problema é que só é exibido a última iteração, sendo que as anteriores são "atropeladas" pelo for.

 

 

for(i=0; i<n_nos; i++)

{

var item = rootNode.childNodes;

mostraChamada(item);

}

Preciso urgente de ajuda, nem que seja para mudar o funcionamento do filme, a lógica, etc. Mesmo que seja para eu começar do zero.

 

Grato.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Ela cria um movieClip com os dados no nó <ITEM> (passado como parâmetro)function mostraChamada(no_item){ var idchamada:Number = no_item.childNodes[0].firstChild.nodeValue; var titulo:String = no_item.childNodes[1].firstChild.nodeValue; var link:String = no_item.childNodes[2].firstChild.nodeValue; var tempo_exibicao:Number = no_item.childNodes[3].firstChild.nodeValue; var data_inicial:Number = no_item.childNodes[4].firstChild.nodeValue; var arquivo:String = no_item.childNodes[5].firstChild.nodeValue; if(data_inicial <= now) // verifica se a data do registro é menor q a atual { var alfa:Number = 0; // cria o filme chamada_mc _root.createEmptyMovieClip("chamada_mc", 0); chamada_mc._alpha = 0; chamada_mc.loadMovie(arquivo); _root.onEnterFrame = function() { if(alfa>=100) alfa = 100; else { alfa = alfa + 5; } chamada_mc._alpha = alfa; } // cria o fundo do TextFild _root.createEmptyMovieClip('fundotxt_mc', 1); fundotxt_mc._alpha = 50; fundotxt_mc.beginFill(0x000000, 100); fundotxt_mc.moveTo(0, 145); fundotxt_mc.lineTo(460, 145); fundotxt_mc.lineTo(460, 460); fundotxt_mc.lineTo(0, 460); fundotxt_mc.lineTo(0, 0); fundotxt_mc.endFill(); // cria o TextFild fundotxt_mc.createTextField('chamada_txt', 2, 0, 155, 459, 35); // formatação do texto fundotxt_mc.chamada_txt.text = titulo; chamada_fmt = new TextFormat(); chamada_fmt.font = "Arial"; chamada_fmt.size = 12; chamada_fmt.bold = true; chamada_fmt.color = 0xFFFFFF; chamada_fmt.leftMargin = 10; fundotxt_mc.chamada_txt.setTextFormat(chamada_fmt); }}

Compartilhar este post


Link para o post
Compartilhar em outros sites

_root.createEmptyMovieClip("chamada_mc", 0);

 

Todos os MovieClips são criados no nível zero, por isso se sobrescrevem, e por isso apenas resta o último. Dê um incremento nesta variável.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Deu na mesma.Minha questão é fazer o laço processguir, aguardando a execução do filme criado.Tipoi = 0, cria o filme com os dados do nó e os exibe,exibido o filme, continua a iteração do for.i = 1, cria o filme com os dados do nó ....

Compartilhar este post


Link para o post
Compartilhar em outros sites

Ah, mas aí tu chamaria a função dentro da função, no final do incremento do alfa. Pelo menos é isso que tu quer que acabe, pra chamar outro, 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.