Muchas veces nos encontramos con que hemos declarado y modificado un montón de variables, además de crear un montón de clips con attachMovie, en un clip de película (también en el escenario, _root). Resulta que si queremos que todo quede como al principio (un botón Play Again, por ejemplo) puede hacerse eterno borrar todos los clips y variables "a mano".
Se pueden borrar todas las variables y clips (los que hemos creado) usando el bucle for..in, que recorre todas las variables de un objeto, con una variable String que contiene el nombre de cada propiedad. Si queremos saber el valor de esa propiedad, será objeto["propiedad"]. Así podemos eliminar todas las variables con pocas líneas de código:
Código :
for (var a in clip) { //Si es un clip attacheado, se borra, de lo contrario no hará nada clip[a].removeMovieClip(); //Borra la referencia de la variable delete clip[a]; }
¿Sabes SQL? ¿No-SQL? Aprende MySQL, PostgreSQL, MongoDB, Redis y más con el Curso Profesional de Bases de Datos que empieza el martes, en vivo.
Por LloXx el 07 de Enero de 2007
Por Zguillez el 07 de Enero de 2007
Por Zguillez el 09 de Enero de 2007
Código :
Por Zah el 10 de Enero de 2007
Ayuda de flash :
public clear() : Void
Elimina todos los gráficos creados en tiempo de ejecución empleando los métodos de dibujo del clip de película, incluidos los estilos de línea especificados con MovieClip.lineStyle(). Las formas y líneas que se dibujan manualmente durante la etapa de edición (con las herramientas de dibujo de Flash) no se ven afectadas.
Disponibilidad: ActionScript 1.0; Flash Player 6
Ergo
Código :
Por elSuricatoRojo el 25 de Enero de 2007
Y si en _level0 hacemos que la aplicación pase por un frame vacio y acontinuación vuelva al frame que inicializó todo?
Vale que lo mismo utilizas clases estáticas tipo singeltón que habrá que reicializar/resetear, pero el resto se reiniciará solito (en teoría
elSuricatoRojo
Por Zah el 25 de Enero de 2007
elSuricatoRojo_blog :
Si ejecutas este código en un mc y lo mandas al fotograma 1, el efecto será justo el mismo que si hubiera acabado de aparecer.
elSuricatoRojo_blog :
Y si en _level0 hacemos que la aplicación pase por un frame vacio y acontinuación vuelva al frame que inicializó todo?
Haz un attachMovie y luego vuelve al fotograma 1 ¿se borran los clips?
Por lau el 20 de Abril de 2007
Por Zah el 21 de Abril de 2007
lau_blog :
A ver, para acceder a propiedades de un objeto (cualquier cosa que extienda a Object) normalmente haces objeto.propiedad, por ejemplo, tuMovieClip._visible. Pero si quieres obtener el nombre de esa propiedad de una manera dinámica (con una cadena que no conoces), otra forma de hacer lo mismo es con esta otra sintaxis: tuMovieClip["_visible"], lo cual es muy útil para casos como este.
Por Chevy el 07 de Septiembre de 2007
Código :
Código :
pero no se como hacer para reiniciar esa variable y que quede vacia....
Gracias
Atentamente,
Sebastian
Por Pedro Antonio P el 04 de Febrero de 2008
// http://www.cristalab.com/foros/t32471.html
// Mod: Mar Ene 09, 2007 1:05 am
// Mod: 2008.02.04 Pedro Antonio Pelaez
MovieClip.prototype.clear = function () {
for (var a in this) {
this[a].clear(); // Borro su interior tambien
//Si es un clip attacheado, se borra, de lo contrario no hará nada
removeMovieClip(this[a]);
//Borra la referencia de la variable
delete this[a];
this[a] = null;
}
}
Lo que no hace es cancelar la carga. Si hay alguna carga en proceso esta quedara en el aire hasta que termine.
A ver si alguien da con una forma de pararlas.
Por Juan Pablo el 13 de Mayo de 2009