Comunidad de diseño web y desarrollo en internet online

Al cargar imagen eliminar la anterior

Citar            
MensajeEscrito el 04 Ene 2010 07:24 pm
Tengo un catálogo que muestra información sobre el producto y su imagen. El problema es que hay imágenes de distintos tamaños, con lo cual al cargar un producto con una foto de menor tamaño que el anterior se ve una imagen de fondo.

El código que tengo es:

Código ActionScript :

function mostrarModelo(e:MouseEvent){
   desactivarBotones(cajaTitulo)      
   e.currentTarget.activar();
   ficha=infoCatalogo.(@titulo==e.currentTarget.texto_txt.text); // Obtenemos la referencia del thumb del catálogo sobre el que hemos pulsado
   addChild(fichaCatalogo); // Añadimos a escena una instancia de la plantilla fichaCatalogo
   fichaCatalogo.x=360;  // Definimos su posición
   fichaCatalogo.y=140;
   fichaCatalogo.titulo_txt.text=ficha.@titulo; // Mostramos el título del artículo 
   fichaCatalogo.precio_txt.text=ficha.@precio; // Mostramos el precio del artículo 
   fichaCatalogo.dimensiones_txt.text=ficha.@dimensiones;    // Mostramos el tamaño del artículo 
   var urlFoto:URLRequest=new URLRequest("img/gallery/big/"+ficha.@img); // Recuperamos la ruta de la imagen
   var foto:Loader=new Loader(); // Creamos un cargador para la imagen
   foto.load(urlFoto); // Cargamos la imagen en su contenedor
   foto.x=0; // Definimos su posición
   foto.y=55;
   fichaCatalogo.addChild(foto); // Añadimos la imagen a escena
}


Incluyendo

Código ActionScript :

fichaCatalogo.addChild(foto);
a la función no funciona.

¿Cómo podría eliminar la foto cargada anteriormente?

Por tementa

33 de clabLevel



 

firefox
Citar            
MensajeEscrito el 04 Ene 2010 09:32 pm
Si cada vez haces un addChild(fichaCatalogo), entonces estas "apilando" fichas, no veo que es fichaCatalogo ni donde la declaras. Tienes dos opciones: remueves la ficha anterior o le escribes un método a fichaCatálogo para que reutilice el Loader

Jorge

Por solisarg

BOFH

13669 de clabLevel

4 tutoriales
5 articulos

Genero:Masculino   Bastard Operators From Hell Premio_Secretos

Argentina

firefox
Citar            
MensajeEscrito el 05 Ene 2010 10:12 am
Perdón en el post anterior me confundí, quería poner que añadí a la función el código:

Código ActionScript :

   fichaCatalogo.removeChild(foto); // Eliminamos la imagen a escena


fichaCatalogo es un movieclip que llevo a escena, que alberga la ficha con las características del producto. Esta ficha se rellena con los datos de titulo, precio, dimensiones y la foto.

He creado una función que elimina el hijo foto de ficha catálogo, pero me da error de que el parámetro hijo no debe estar vacío:

Código ActionScript :

function mostrarModelo(e:MouseEvent){
   desactivarBotones(cajaTitulo)
   borrarFoto(foto);      
   e.currentTarget.activar();
   ficha=infoCatalogo.(@titulo==e.currentTarget.texto_txt.text); // Obtenemos la referencia del thumb del catálogo sobre el que hemos pulsado
   addChild(fichaCatalogo); // Añadimos a escena una instancia de la plantilla fichaCatalogo
   fichaCatalogo.x=360;  // Definimos su posición
   fichaCatalogo.y=140;
   fichaCatalogo.titulo_txt.text=ficha.@titulo; // Mostramos el título del artículo 
   fichaCatalogo.precio_txt.text=ficha.@precio; // Mostramos el precio del artículo 
   fichaCatalogo.dimensiones_txt.text=ficha.@dimensiones;    // Mostramos el tamaño del artículo 
   var urlFoto:URLRequest=new URLRequest("img/gallery/big/"+ficha.@img); // Recuperamos la ruta de la imagen
   var foto:Loader=new Loader(); // Creamos un cargador para la imagen
   foto.load(urlFoto); // Cargamos la imagen en su contenedor
   foto.x=0; // Definimos su posición
   foto.y=55;
   fichaCatalogo.addChild(foto); // Añadimos la imagen a escena
}


Código ActionScript :

function borrarFoto(box:Loader){
   fichaCatalogo.removeChild(box); // Vaciamos el loader
   }


¿En qué punto del programa debo decir que se borre la foto?

Por tementa

33 de clabLevel



 

firefox
Citar            
MensajeEscrito el 05 Ene 2010 10:29 am
Parece que la foto es el último hijo en el DisplayList de fichaCatalogo, intenta así

fichaCatalogo.removeChildAt(fichaCatalogo.numChildren-1);

Jorge

Por solisarg

BOFH

13669 de clabLevel

4 tutoriales
5 articulos

Genero:Masculino   Bastard Operators From Hell Premio_Secretos

Argentina

firefox
Citar            
MensajeEscrito el 05 Ene 2010 04:53 pm
Solucionado, muchas gracias Jorge ;P

Por tementa

33 de clabLevel



 

firefox

 

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