Comunidad de diseño web y desarrollo en internet online

swapDepth y sus residuos. Para volverse loco

Citar            
MensajeEscrito el 17 Ago 2007 10:46 am
Hola, tengo un problema (bastante común) con swapDepth.
Cuando cambio de profunddad me duplica esas movies y las tengo de por vida.
He leído y releído sobre este tema en este foro pero no doy con la solución.

Situación:
Tengo 6 movies, cada cual con un btn dentro y una pelicula.
Cuando clico la movie se pone en primer plano. Pare cerrarla tengo que clicar un btn de cerrar dentro de cada una.
Bien, hasta aqui todo perfecto. Puedo hacer saltar cada movie, que mientras siga en el mismo frame todo va bien.
Pero cuando clico para avanzar frame, dejando atras las 6 movies y creando 6 nuevas que harán los mismo, todas las que he clicado con swapDepth no se van. Ahí están los residuos, de por vida.
¿Como puedo limpiarlos?
Intento usar removeMovieclip, pero si lo coloco al final de cada una de las 6 movies pues lógicamente desaparecen (pero no la duplicada, si no la unica y original).

He rescatado este código en este foro pero no se como usarlo en mi caso, (tampoco lo eniendo muy bien):

Código :

function cerrar(instancia:String){
eval("_root"+instancia).removeMovieClip();
}
miboton.onRelease=function(){
 cerrar("miboton");
}  



Gracias por vuestro tiempo y ayuda.
salu2

Por iarte

1 de clabLevel



Genero:Masculino  

safari
Citar            
MensajeEscrito el 17 Ago 2007 11:43 pm
Prueba de colocar este código para tu botón de avanzar fotograma:

Código :

boton.onRelease = function()
{
   for (var i in this._parent) {
      this._parent[i].removeMovieClip();
   }
   nextFrame();
};

Por Zguillez

BOFH

10744 de clabLevel

85 tutoriales
17 articulos
3 ejemplos

Genero:Masculino   Bastard Operators From Hell Héroes Team Cristalab Editores

BCN

firefox
Citar            
MensajeEscrito el 17 Ago 2007 11:51 pm
Yo me acostumbraría a usar montones de MovieClips "contenedor", sobre todo cuando vas a crear clips dinámicamente. Así, borras el clip contenedor cuando ya no lo necesites y te olvidas del problema.

Puedes hacerlo conCreateEmptyMovieClip, o simplemente un clip vacío (o con lo que quieras, vaya) que pones en los fotogramas que te interesa y en los otros lo quitas.

Por Zah

BOFH

4290 de clabLevel

27 tutoriales
5 articulos

  Bastard Operators From Hell Editores

Zaragoza, España

firefox
Citar            
MensajeEscrito el 18 Ago 2007 12:15 am
Una de las soluciones y la mas acertada es que uses un for in como esta mas arriba para eliminar las imagenes, de todos modos hay que ver como las creas dinamicamente también.
Mi consejo es que crees las imagenes atachandolas desde la libreria con un nombre de instancia y una profundidad cualquiera, antes de irte de ese frame elimina todas las películas con el for in o sino simplemente como siempre vas a tener 6 películas volverlas a crear con los mismo nombres de instancia y de esa manera pisaran las que están.
Lo recomendable seria que dichas películas estén dentro de un contenedor, ya que el for in simplemente lo haces recorrer dentro de ese contenedor buscando objetos de tipo movieClip y que los remueva.

Por leobaraldi

351 de clabLevel

3 tutoriales

 

firefox

 

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