Comunidad de diseño web y desarrollo en internet online

Cargo un MovieClip, lo descargo y no puedo volver a cargarlo

Citar            
MensajeEscrito el 12 Nov 2009 08:33 pm
Buen día a todos, mi problema es el siguiente, estoy haciendo una página web en donde tengo una galería hecha en XML, para lo cual estoy cargando varios MovieClips (tanto para mostrar las miniaturas, como para mostrar la imagen completa), luego cuando paso a otra sección de la página (como misión/visión de la empresa) descargo los MovieClips y cuando vuelvo a entrar a la sección de la galería no puedo volver a cargar los MovieClips, a continuación dejo el código que estoy utilizando y espero que alguien me pueda ayudar, gracias!

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.

Por Christian Sandoval

1 de clabLevel



 

chrome
Citar            
MensajeEscrito el 12 Nov 2009 10:51 pm
usa removeMovieClip en vez de unloadMovie

Por nasho

Claber

908 de clabLevel

1 tutorial

Genero:Masculino  

Web Developer

firefox

 

Cristalab BabyBlue v4 + V4 © 2011 Cristalab
Powered by ClabEngines v4, HTML5, love and ponies.