Bueno a ver, mi idea es hacer una galeria en XML que cargue las miniaturas solo por peticion, es decir que no tenga que cargar las 1000 minis en un clip, enmascararlo y moverlo para arriba y para abajo.
Quisiera paginar las miniaturas y solo cargar las necesarias con un bonito preload individual.
Mi planteamiento es este.... funcion cargar fagina y funcion borar pagina.
El problema al que me enfrento es a la hora de manejar los preloads... como puedo ubicarlos cada uno en su miniatura correspondiente???? no me aclaro muy bien.
El otro problema es a la hora de distribuir las miniaturas ya cargadas por los diferentes clips...
Código :
function cargaXML_OK(e:Event):void
{
xmlExterno = new XML(cargadorXML.data);
total_mini = xmlExterno.registro.length();
no_paginas = Math.ceil(total_mini / (no_columnas * no_filas));
paginacion_txt.text="Pag " +pagina_actual + " / " + no_paginas;
for (var i:uint = 0; i < total_mini; i++) {
idimagen_list.push( xmlExterno.registro[i][email protected]() );
nombre_list.push( xmlExterno.registro[i][email protected]() );
fecha_list.push( xmlExterno.registro[i][email protected]() );
lugar_list.push( xmlExterno.registro[i][email protected]() );
texto_list.push( xmlExterno.registro[i][email protected]() );
}
carga_pagina();
}
function carga_pagina():void
{
if (id_mini < pagina_actual * (no_columnas * no_filas)) {
var marco_width = 110;
var marco_height = 75;
var miniatura_mc:MovieClip = new MovieClip();
miniatura_mc.graphics.beginFill(0xFFFFFF);
miniatura_mc.graphics.drawRect( 0, 0, marco_width, marco_height );
miniatura_mc.graphics.endFill();
miniatura_mc.name = "mini_" + contenedor.numChildren;
miniatura_mc.buttonMode = true;
miniatura_mc.addEventListener( MouseEvent.MOUSE_OVER, sobre_mini );
miniatura_mc.addEventListener( MouseEvent.MOUSE_OUT, fuera_mini );
miniatura_mc.addEventListener( MouseEvent.CLICK, click_mini );
//colocamos los marcos para las miniaturas en el contenedor
miniatura_mc.x = Math.floor( contenedor.numChildren % no_columnas ) * ( marco_width + separacion_mini );
miniatura_mc.y = Math.floor( contenedor.numChildren / no_columnas ) * ( marco_height + separacion_mini);
contenedor.addChild(miniatura_mc);
var mini_ruta:URLRequest = new URLRequest( carpeta_mini + nombre_list[id_mini] );
var mini_loader:Loader = new Loader();
mini_loader.load(mini_ruta);
mini_loader.contentLoaderInfo.addEventListener(ProgressEvent.PROGRESS, cargando_mini);
mini_loader.contentLoaderInfo.addEventListener(Event.COMPLETE, mini_cargado);
trace("cargo"+id_mini);
id_mini++;
carga_pagina();
}
}
function borra_pagina():void
{
//Borraria la pagina actual y cargara la pagina siguiente llamando a la funcion cargapagina()
}
function cargando_mini(e:ProgressEvent)
{
ME GUSTARIA SABER COMO COLOCAR UN PRELOAD EN LA MINIATURA CORRESPONDIENTE?????
trace("Cargando "+ e.target)
}
function mini_cargado(e:Event)
{
ME GUSTARIA SABER COMO COLOCAR LA IMAGEN EN SU MINIATURA CORRESPONDIENTE
trace(e.target.url);
}
function sobre_mini(e:MouseEvent):void
{
trace("Sobre "+ e.target.name)
}
function fuera_mini(e:MouseEvent):void
{
trace("Salgo de "+ e.target.name)
}
function click_mini(e:MouseEvent):void
{
trace("He pinchado sobre "+ e.target.name)
}
cargadorXML.load(rutaXML);
cargadorXML.addEventListener(Event.COMPLETE, cargaXML_OK);
cargadorXML.addEventListener(IOErrorEvent.IO_ERROR, cargaXML_NO);Se que me falta mucho por desarrolar, pero con distribuir correctamente los preload por los marcos de las miniaturas y las correspondientes imagenes me ayudarias bastante a salir de este agujero en el que me encuentro.
GRACIAS DE ANTEMANO...
