<?xml version="1.0" encoding="iso-8859-1"?> <lista> <noticia titulo="titulo da noticia 1"/> <noticia titulo="titulo da noticia 2"/> <noticia titulo="titulo da noticia 3"/> <noticia titulo="titulo da noticia 4"/> </lista>
Criei algumas funções para fazer isso, primeiro eu chamo uma função para ler o xml e armazenar o seu conteúdo em um array, depois eu chamo um setInterval para que a cada 3 segundos o título da notícia seja trocada pelo título da proxima noticia do array.
Eu sei que a leitura do xml está correta, pois testei ela, porém as variáveis que uso para controlar as funções retornam undefined. Inclusive, eu só consigo ler o array dentro da função onLoad do xml, fora dela o array também começa a me retornar undefined.
Eu pesquisei na internet sobre variaveis globais no flash, achei o _global e o _root, mais não consegui fazer funcionar, por favor, alguém me ajude a colocar esse código funcionando, segue abaixo o código do meu flash:
// variavel que recebe o indice do item do array a ser mostrado em seguida
var indice:Number;
// array com titulos das noticias
var tituloDinamico:Array = new Array;
var timer;
function leXml(){
var arquivo:XML = new XML();
arquivo.ignoreWhite = true;
arquivo.onLoad = function(sucess) {
if (sucess) {
var nodes = arquivo.firstChild.childNodes;
for (var i = 0; i<nodes.length; i++) {
tituloDinamico.push(nodes[i].attributes.titulo);
}
}
}
arquivo.load("lista.xml");
indice = 0;
proximaNoticia(indice);
timer = setInterval(trocaIndice(), 3000);
}
function proximaNoticia(posicao){
// atualiza o texto no flash dinamicamente
meuTexto.text = tituloDinamico[posicao];
}
function trocaIndice(){
if(indice == (tituloDinamico.length - 1)){
clearInterval(timer);
indice = 0;
proximaNoticia(indice);
} else{
indice ++;
proximaNoticia(indice);
}
}
leXml(); // inicia a execuçãoDesde já, obrigado.



Postagens
Não informado
