Ir para conteúdo

POWERED BY:

Arquivado

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

MJane

Flash e XML - imagens em loop

Recommended Posts

Olá preciso de ajuda, tenho um ficheiro que está a ler as imagens do xml apenas uma vez, o que eu quero é colocar as imagens de background que estão no xml a fazer loop.

 

Já tentei de tudo para resolver e não consigo.

Alguém me pode dar uma ajuda :)? thanks!

 

 

//Filcheiro de XML

 

<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<content Delay="20000"> 
 <bg Image="backgrounds/FK0.jpg"/>
 <bg Image="backgrounds/FK1.jpg"/>
 <bg Image="backgrounds/FK2.jpg"/>
 <bg Image="backgrounds/FK3.jpg"/>
 <bg Image="backgrounds/FK4.jpg"/>
 <bg Image="backgrounds/FK5.jpg"/>
</content>

 

 

 

//Código do actionscript dentro do flash:
function duplicateImage(from, target)
{
 var _loc1 = new flash.display.BitmapData(from._width, from._height);
 _loc1.draw(from);
 target.attachBitmap(_loc1, 1, true, true);
} // End of the function
ID = 0;
holder._alpha = 0;
_global.bgLoaded = false;
imageLoaded = function ()
{
 _global.bgLoaded = true;
 imageWidth = holder._width;
 imageHeight = holder._height;
 duplicateImage(holder, holder);
 _parent.scalebg_mc();
 var _loc3 = new mx.transitions.Tween(holder, "_alpha", mx.transitions.easing.Regular.easeOut, 0, 100, 40, false);
 _loc3.onMotionfinished = function ()
 {
 holder2._visible = false;
 if (total > 1)
 {
 timeInterval = setInterval(bgTimer, Delay);
 } // end if
 };
};
construct = function ()
{
 for (i = 0; i < total; i++)
 {
 Image[i] = xmlNode.childNodes[i].attributes.Image;
 } // end of for
 Delay = xmlNode.attributes.Delay;
 holder.loadMovie(Image[ID]);
};
bgTimer = function ()
{
 clearInterval(timeInterval);
 ID = ID + 1;
 if (ID == total)
 {
 ID = 0;
 } // end if
 holder2._visible = true;
 duplicateImage(holder, holder2);
 holder._alpha = 0;
 holder.loadMovie(Image[ID]);
};

loadXML = function (loaded)
{
 if (loaded)
 {
 xmlNode = this.firstChild;
 Image = [];
 total = xmlNode.childNodes.length;
 construct();
 } // end if
};
xmlData = new XML();
xmlData.ignoreWhite = true;
xmlData.onload = loadXML;
xmlData.load("backgrounds/content.xml");
stop ();

Compartilhar este post


Link para o post
Compartilhar em outros sites

Coloque todos os valores do XML em um array

E utilize esse array, para fazer os seus loops.

 

De uma olhada nas galerias que tem no forum na parte de artigos e tutoriais.

Você vai ter uma ideia de como funciona.

 

Abraços

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.