bien, me hice de un poco de tiempo y arme el ejercisio , me centre en lo que querias de cambiar la informacion en el campo de texto atravez de los botones atras y siguiente , para eso modifique el documento XML y quedo a si :
Código XML :
<?xml version="1.0" encoding="utf-8"?>
<galeria titulo="titulo galeria">
<foto id="1">
<path>assets/photoA.jpg</path>
<description>
Google:Lorem ipsum dolor sit amet, consectetur adipiscing elit. Nullam ut enim at risus fringilla rhoncus.
</description>
<link><![CDATA[<a href="event:http:www.google.com">read more..</a>]]></link>
</foto>
<foto id="2">
<path>assets/photoB.jpg</path>
<description>
Adobe:Nullam feugiat, diam at eleifend ultricies, libero nisi aliquam purus, vitae congue est libero in enim.
</description>
<link><![CDATA[<a href="event:http:www.adobe.com">read more..</a>]]></link>
</foto>
<foto id="3">
<path>assets/photoC.jpg</path>
<description>
Wikipedia:Uultricies rutrum pretium. Nam tristique dapibus felis eu ornare. Cras nulla nulla, interdum id mollis eget.
</description>
<link><![CDATA[<a href="event:http:www.wikipedia.org">read more..</a>]]></link>
</foto>
</galeria>
y el as :
Código ActionScript :
var xmlContent:XML;
var childrenList:XMLList;
var xmlLoader:URLLoader;
var count:int;
var index:int = 0;
//iniciamos nuestra aplicacion
initApp();
function initApp():void
{
xmlLoader = new URLLoader();
xmlLoader.addEventListener(Event.COMPLETE, onDataLoaded);
xmlLoader.load(new URLRequest("data.xml"));
}
function onDataLoaded(e:Event):void
{
var tmpLoader:URLLoader = e.target as URLLoader;
tmpLoader.removeEventListener(Event.COMPLETE, onDataLoaded);
xmlContent = new XML(tmpLoader.data);
childrenList = new XMLList(xmlContent.children());
count = childrenList.length();
//hacemos un display del primero valor de la data , index = 0 , por lo tanto
//se cargara el primer dato
//tDescription nombre de instancia de un campo de texto dinamico en la escena
tDescription.text = childrenList[index].description.toString();
//tLinkTag nombre de instancia de un campo de texto dinamico en la escena
tLinkTag.htmlText = childrenList[index].link;
//agregamos el listener que esuchara cuando se haga click sobre el campo de texto
tLinkTag.addEventListener(TextEvent.LINK,onLinkEvent);
mNext.buttonMode = true;
mPrev.buttonMode = true;
//en esta etapa de la ejecucion nuestros datos deben estar ccargados
//por lo tanto agrego los listeners para los eventos del MouseClick
//mNext y mPrev son los nombres de instancia de los mcs que hacen de botones anterior y siguiente
mNext.addEventListener(MouseEvent.CLICK, onClickNext);
mPrev.addEventListener(MouseEvent.CLICK, onClickPrev);
}
function onClickNext(e:MouseEvent):void
{
if(index < count-1){index++;}
tDescription.text = childrenList[index].description.toString();
tLinkTag.htmlText = childrenList[index].link;
tLinkTag.addEventListener(TextEvent.LINK,onLinkEvent);
}
function onLinkEvent(e:TextEvent):void
{
//en la propiedad text del e object esta almacenada la url por lo tanto
//se la paso al URLRequest object en su constructor
var req:URLRequest = new URLRequest(e.text);
//que nos lleve a la url , en este caso le he puesto _self , lo que hara que salga
//en una nueva ventana en el navegador
navigateToURL(req,"_self");
}
function onClickPrev(e:MouseEvent):void
{
if(index > 0){index--;}
tDescription.text = childrenList[index].description.toString();
tLinkTag.htmlText = childrenList[index].link;
tLinkTag.addEventListener(TextEvent.LINK,onLinkEvent);
}
es practicamente tu mismo codigo , solo cambia los nombres de las variables que para mi, me es mas comodo manejar, comente las posibles lineas en las que te puedas complicar.
Jonathan
Jonathan