Foros del Web » Creando para Internet » Flash y Actionscript »

Comprobar/borrar todos los mc desde AS3

Estas en el tema de Comprobar/borrar todos los mc desde AS3 en el foro de Flash y Actionscript en Foros del Web. Buenos días, Estoy realizando una web Flash, desarrollada toda en AS3, exceptuando que el diseño de los iconos , botones etc lo hago desde Flash. ...
  #1 (permalink)  
Antiguo 11/08/2010, 06:00
 
Fecha de Ingreso: mayo-2010
Mensajes: 49
Antigüedad: 14 años
Puntos: 0
Comprobar/borrar todos los mc desde AS3

Buenos días,

Estoy realizando una web Flash, desarrollada toda en AS3, exceptuando que el diseño de los iconos , botones etc lo hago desde Flash.

A la hora de realizar el menú desplegable, que contiene diversas galerías creadas con AS3 , y en estas puse un boton atras que te devuelve al menú principal.

Esta función Atras la tengo dentro de la función CrearGaleria, hasta hace unos días me funcionaba perfectamente, así que continué sin grabar, ERROR. SIEMPRE ERROR. Aqui viene el problema, añadí un segundo menú para añadir varias galerias en los submenus.Que sería :

Menú --- SubMenú ----Galeria/s
SubMenú----Galeria/s


La primera vez que entramos en una galería , y salimos funciona bien, borra todos los mc necesarios y añade los inciales.

La segunda vez que entramos , sale pero deja la galeria en la stage. Si entro en el mismo submenú 2,3 o 10 veces no falla, es solo cuando cambiamos de submenú.

He realizado , todas las comprobaciones que se me han ocurrido , para averiguar que mc duplica, sin embargo , nada detecta ese mc, pongo aqui varias comprobaciones y a ver si alguien me facilita alguna idea más para borrar el mc Fantasma.

Que me pinte todos los mc que haya en pantalla

Código AS3:
Ver original
  1. for (i=0; i<stage.numChildren; i++) {
  2.                         var mc:DisplayObject=stage.getChildAt(i);
  3.                         //Ahora podemos, p.e.
  4.                         mc.x+=10;
  5.                         //o lo que queramos
  6.                         trace(mc);
  7.                         trace(mc.name);
  8.                         trace(mc.parent);
  9.                     }

En cada RemoveChild compruebo que exista y trazo que entre ne la condicion

Código AS3:
Ver original
  1. if (mc.parent!=null) {
  2.                                             removeChild(bcargoH);
  3.                                         }
Pero me indica que se borra todo lo que yo he creado intencionadamente, pero sigo viendolo en pantalla. Con el for que he dejado más arriba nada más me aparece root1 y en realidad hay más mc , en pantalla aparte del fantasma, así que si alguien sabe dar un poco de luz , se lo agradeceré de todo corazón. Gracias.
  #2 (permalink)  
Antiguo 11/08/2010, 18:04
Avatar de mortiprogramador
Colaborador
 
Fecha de Ingreso: septiembre-2009
Ubicación: mortuoria
Mensajes: 3.805
Antigüedad: 14 años, 7 meses
Puntos: 214
Respuesta: Comprobar/borrar todos los mc desde AS3

bueno, y si intentas con removeChildAt() te pasa lo mismo??
pregunto también algo, el submenu se muestra dentro de un mc o directamente en el stage?
si fuera en un mc, entonces podrías hacer algo así

Código actionscript:
Ver original
  1. var l:int = clip.numChildren - 1
  2. for(var j = l; j >=0; j-- )
  3. {
  4. clip.removeChildAt(j);
  5. }
y si eso no te soluciona, te recomiendo que intentes poner en comentario lo que agregaste y pruebes a dejarlo como te estaba funcionando o te des una pasada por la documentación
de flash donde hablan sobre el tema de removeChild

saludos
__________________
"Si consigues ser algo más que un hombre, si te entregas a un ideal, si nadie puede detenerte, te conviertes en algo muy diferente."
Visita piggypon.com

Última edición por mortiprogramador; 14/08/2010 a las 08:49
  #3 (permalink)  
Antiguo 14/08/2010, 07:48
 
Fecha de Ingreso: mayo-2010
Mensajes: 49
Antigüedad: 14 años
Puntos: 0
Respuesta: Comprobar/borrar todos los mc desde AS3

Muchas Gracias, al final comencé a lanzar tracers, y bueno descubrí que entraba más de una vez en la función, cuando la función era mouse_event.click, además cada vez que cambiaba de sección entraba una vez más como si fuera un bucle, en cambio, no hay ni un solo bucle, no lo entiendo, pero he puesto condiciones, y contadores como parche... así que solventado de momento.

Lo agrego dentro de la stage, por eso he intentado el removeChildAt, tb con la stage, y si no entiendo mal el funcionamiendo debería borrar todo lo agregado en la stage, cuando solo borra ciertos mc, no todos. seguiré investigando igualmente, muchas gracias.

Etiquetas: Ninguno
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 10:37.