Estoy cargando con un bucle for 13 MovieClips al esceneario llamados "lineaM", dichos MCS cargan a su vez contenido de un archivo XML.. hasta aqui todo marcha bien, el problema viene cuando el archivo XML contiene mas de 13 elementos a cargar.. puesto que necesito hacer la compaginacion y volver a ejecutar la funcion que me cargue los siguientes 13 elementos del XML.
ya solucione lo de la carga de los 13 nuevos elementos mediante un boton que tiene un escuchador de eventos y este vuelve a llamar a la funcion que carga la informacion del XML.
EL PROBLEMA ES QUE NO SE COMO QUITAR LA CARGA PREVIA DE LOS PRIMEROS 13 ELEMENTOS... ya intente todo lo que tengo a mi alcance, condicionales, implemente nuevas funciones, intente guardar en un Array la informacion de los MCS cargados y despues borrarlos con "removeChild" etc etc.. :s
pero sigo sin tener exito, aqui les dejo el codigo y gracias de ante mano.
la funcion queryXML() es la del jodido problema!!.. jaja
Código PHP:
//Lectura Base de Datos XML
var elemList_XML:XML;
var xmlLoader:URLLoader = new URLLoader();
xmlLoader.load(new URLRequest("usuario/fla/scripts/cotizarData.php"));
xmlLoader.addEventListener(Event.COMPLETE, xmlLoaded);
xmlLoader.addEventListener(IOErrorEvent.IO_ERROR, xmlFalled);
function xmlFalled(event:IOErrorEvent):void{
aviso_txt.text = "Imposible conectar a la Base de Datos \n Revise su conexión a Internet" + event;
}
function xmlLoaded(event:Event):void{
elemList_XML = new XML(xmlLoader.data);
var numXML = elemList_XML.prod.length();
if(numXML < 13){
for(var i:int=0; i<numXML; i++){
var linea = new data_XML();
addChild(linea);
linea.id_txt.text = elemList_XML.prod[i].id;
linea.prod_txt.text = elemList_XML.prod[i].producto;
linea.fecha_txt.text = elemList_XML.prod[i].fecha;
linea.status_txt.text = elemList_XML.prod[i].status;
linea.y = 127 + (linea.height)*i;
linea.x = 40;
}
}else {
var remove:String;
var setPage:Number = 0;
var nxtPage:Number = 0;
var totPage:Number = 13;
var qryPage:Number = 13;
var acomPage:Number = 0;
var recPage:Number;
var pages:Number;
var pointPage:Number;
var sumPage:Number;
nxtBtn.visible = true;
nxtBtn.addEventListener(MouseEvent.CLICK, changePage);
queryXML();
function changePage(e:MouseEvent):void{
pages = numXML / totPage - setPage;
if(pages > 1){
setPage++;
recPage = numXML - (totPage + (totPage * acomPage));
if(recPage > totPage){
acomPage++;
sumPage = (totPage * acomPage);
nxtPage = sumPage;
}else if(recPage < totPage){
acomPage++;
sumPage = (totPage * acomPage);
nxtPage = sumPage;
qryPage = numXML - sumPage;
nxtBtn.visible = false;
nxtBtn.removeEventListener(MouseEvent.CLICK, changePage);
}
}
queryXML();
}
// esta es la funcion endemoniada!!
function queryXML():void{
for(var e:int=0; e<qryPage; e++){
var lineaM = new data_XML();
addChild(lineaM);
lineaM.id_txt.text = elemList_XML.prod[e+nxtPage].id;
lineaM.prod_txt.text = elemList_XML.prod[e+nxtPage].producto;
lineaM.fecha_txt.text = elemList_XML.prod[e+nxtPage].fecha;
lineaM.status_txt.text = elemList_XML.prod[e+nxtPage].status;
lineaM.y = 127 + (lineaM.height)*e;
lineaM.x = 40;
}
}
}
}