Usamos cookies para medir audiência e melhorar sua experiência. Você pode aceitar ou recusar a qualquer momento. Veja sobre o iMasters.
Saudações,
Estou tentando fazer um flash que mostra várias imagens diferentes na tela de tempos em tempos.
O caminho para essas imagens vem de um XML.
Eu consigo carregar o XML e armazenar em um array o caminho das imagens MAS quando tento acessar o array diz que está vazio.
Alguém consegue me ajudar?
Actionscript
System.useCodepage = true;var MeuXML:XML = new XML();var totalPecas:Number;var pecaAtual:Number = 0;var pecaTexto:Array = Array();var pecaImg:Array = Array();var pecaLink:Array = Array();var pecaDesc:Array = Array();var intervalId:Number;var duracao:Number = 5000;MeuXML.ignoreWhite = true;MeuXML.onLoad = function($sucesso){ if($sucesso){ for(i = 0; i < MeuXML.firstChild.childNodes.length; i++){ pecaImg[i] = MeuXML.firstChild.childNodes[i].childNodes[0].firstChild.nodeValue; pecaTexto[i] = MeuXML.firstChild.childNodes[i].childNodes[1].firstChild.nodeValue; pecaLink[i] = MeuXML.firstChild.childNodes[i].childNodes[2].firstChild.nodeValue; pecaDesc[i] = MeuXML.firstChild.childNodes[i].childNodes[3].firstChild.nodeValue; totalPecas = i; } } else { // Em caso de erro trace($sucesso); trace("Ocorreu algum erro ao carregar os dados."); }}// Carregar dados do XML.MeuXML.load("tv_config_home.xml");var mcLoader:MovieClipLoader = new MovieClipLoader();mcLoader.addListener(this);// Tento chamar o caminho e retorna undefiniedtrace(pecaImg[0]);function mudaPeca(peca){ mcLoader.loadClip(pecaImg[peca],mcBox);}/function executeCallback():Void { if(pecaAtual > 3){ pecaAtual = 0; } mudaPeca(pecaAtual); pecaAtual++;}intervalId = setInterval(this, "executeCallback", duracao);/
E esse é o XML:
<?xml version="1.0" encoding="ISO-8859-1"?><campanhas> <pecas> <img><![CDATA[img/destaquetv/1161.jpg]]></img> <texto><![CDATA[XXX]]></texto> <link><![CDATA[../lobby_dw.jsp?gid=1161&from=tv_home]]></link> <nomecena><![CDATA[XXX]]></nomecena> </pecas> <pecas> <img><![CDATA[img/destaquetv/1163.jpg]]></img> <texto><![CDATA[XXX]]></texto> <link><![CDATA[../lobby_dw.jsp?gid=1163&from=tv_home]]></link> <nomecena><![CDATA[XXX]]></nomecena> </pecas> <pecas> <img><![CDATA[img/destaquetv/1160.jpg]]></img> <texto><![CDATA[XXX]]></texto> <link><![CDATA[../lobby_dw.jsp?gid=1160&from=tv_home]]></link> <nomecena><![CDATA[XXX]]></nomecena> </pecas> <pecas> <img><![CDATA[img/destaquetv/1158.jpg]]></img> <texto><![CDATA[XXX]]></texto> <link><![CDATA[../lobby_dw.jsp?gid=1158&from=tv_home]]></link> <nomecena><![CDATA[XXX]]></nomecena> </pecas></campanhas>
Detalhe é que se a função mudaPeca é chamada pelo setInterval ai a parada toda funciona.
Alguém consegue me explicar?
Muito obrigado
Carregando comentários...