Este código lo pongo para cargar la galería con XML
Código ActionScript :
stop();
System.useCodepage = true;
import mx.transitions.Tween;
// -- posición donde se cargará la primera imagen
var x:Number = 720;
var y:Number = 200;
// -- ancho y alto de la imagen más 5 pixeles de espacio
var separacion_x:Number = 130;
var separacion_y:Number = 100;
// -- numero de columnas
var num_columnas:Number = 3;
var columnaActual:Number = 0;
// -- creo un nuevo objeto XML
var miXML:XML = new XML();
// -- ignorar espacios
miXML.ignoreWhite = true;
// -- cargar XML
miXML.load("imagenes.xml");
// -- proceso si la carga tuvo éxito
miXML.onLoad = cargarMiniaturas;
//clips donde se almacenarán las imagenes
var lienzoMinis:MovieClip = new MovieClip();
var minis:MovieClip = new MovieClip();
var imagen:MovieClip = new MovieClip();
var miniatura:MovieClipLoader = new MovieClipLoader();
var imagenCompleta:MovieClipLoader = new MovieClipLoader();
var escucha2:Object = new Object();
var escucha:Object = new Object();
function cargarMiniaturas (success:Boolean):Void {
if (success == true) {
// -- por cada nodo hijo del nodo principal...
for ( var i:Number = 0; i<miXML.firstChild.childNodes.length; i++) {
// -- delaro una variable que recoje el atributo del nodo (nombre de la imagen)
var ruta:String = miXML.firstChild.childNodes[i].attributes.ruta;
// -- creo un clip de película vacio
lienzoMinis = _root.createEmptyMovieClip("mini"+i+"_mc", _root.getNextHighestDepth());
// -- indico posición x - y
lienzoMinis._x = x;
lienzoMinis._y = y;
// -- cargo la imágen el clip vacio
mostrarMiniaturas (ruta, i);
// -- incremento el valor de x para la siguiente imágen
x += separacion_x;
// -- incremento en 1 el número de columnas
columnaActual++;
// -- ruptura de control, control de número de columnas
if (columnaActual == num_columnas) {
columnaActual = 0;
x -= (separacion_x*num_columnas);
y += separacion_y;
}
}
}
};
function mostrarMiniaturas (ruta:String, i:Number):Void {
minis = lienzoMinis.createEmptyMovieClip("imgMini"+i+"_mc", lienzoMinis.getNextHighestDepth());
lienzoMinis.onRelease = function () {
mostrarImagenes ( ruta, i );
};
miniatura.addListener(escucha);
miniatura.loadClip("minis/"+ruta, minis );
escucha.onLoadInit = function (target_mc)
{
target_mc._alpha = 0;
};
escucha.onLoadStart = function (target_mc:MovieClip) {
var interpolacion:Tween = new Tween(target_mc, "_alpha", mx.transitions.easing.Regular.easeOut, 0, 100, 2, true);
};
};
function mostrarImagenes (ruta:String, i:Number):Void {
imagen = _root.createEmptyMovieClip("imagen"+i+"_mc", 1 );
imagen._x = 50;
imagen._y = 50;
imagenCompleta.addListener(escucha2);
imagenCompleta.loadClip("originales/"+ruta, imagen );
escucha2.onLoadInit = function (target_mc:MovieClip) {
target_mc._alpha = 0;
};
escucha2.onLoadStart = function (target_mc:MovieClip) {
var interpolacion2:Tween = new Tween(target_mc, "_alpha", mx.transitions.easing.Regular.easeOut, 0, 100, 2, true);
};
};
Y en el botón que me da acceso a otra sección de la página pongo:
Código ActionScript :
var XMLAutos:XML = new XML();
on (press){
borrarImagenes();
}
function borrarImagenes () : Void {
cargaXML();
for ( var i = 0; i < XMLAutos.firstChild.childNodes.length; i++ )
{
_root["mini"+i+"_mc"].unloadMovie();
_root["imgMini"+i+"_mc"].unloadMovie();
_root["imagen"+i+"_mc"].unloadMovie();
}
};
function cargaXML ()
{
XMLAutos.ignoreWhite = true;
XMLAutos.load("imagenes.xml");
XMLAutos.onLoad = function ()
{
borrarImagenes ();
}
};
Como bien lo dije antes, cargo y descargo los MovieClips sin problemas, el problema radica en que no me los vuelve a mostrar después de haberlos borrado en la galería.
