Comunidad de diseño web y desarrollo en internet online

¿Cómo eliminar por completo un objeto en AS 2.0?

Citar            
MensajeEscrito el 09 Oct 2008 08:39 am
Hola a todos,
estoy haciendo una aplicación en AS 2.0 en la que se crean muchas instancias de determinadas clases, y me gustaría saber cuál es la mejor forma de eliminarlas por completo de la memoria cuando ya no se usen.
Por ahora lo que estaba haciendo era vincular un MovieClip de la biblioteca a la clase, hacer que esta extendiese a MovieClip, e incluír un método llamado Destroy que usa removeMovieClip() para borrar mi MovieClip extendido (aunque realmente no sé si de este modo se borra todo el objeto, o sólo el MovieClip que tiene asociado).

Código :

class MiClase extends MovieClip {

   //...PROPIEDADES
   
   public function MiClase() {
      super();
   }
   
   //...MÉTODOS

   public function Destroy():Void {
      this.removeMovieClip();
   }
}

El caso es que ahora, en lugar de hacerlo extendiendo a MovieClip, quiero hacerlo usando composición, es decir:

Código :

class MiClase {

   //...PROPIEDADES
   private var target_mc:MovieClip;
   
   public function MiClase() {
      target_mc = _root.createEmptyMovieClip("clip_mc", _root.getNextHighestDepth());
   }
   
   //...MÉTODOS

   public function Destroy():Void {
      target_mc.removeMovieClip(); //Ya no se elimina el objeto, sólo se elimina el MC
   }
}

pero haciéndolo de este modo no sé cómo eliminar por completo el objeto.
He probado a usar la sentencia delete instancia_de_MiClase, pero si después hago un trace(instancia_de_MiClase), veo que el objeto sigue existiendo. ¿Cómo puedo eliminarlo?

Gracias.

Por isidoro

Claber

498 de clabLevel

2 tutoriales

Genero:Masculino  

firefox
Citar            
MensajeEscrito el 09 Oct 2008 10:57 am
Las instancias se marcan para borrar (es decir hay que quitar todas las referencias a la instancia en tu code) pero no se pueden borrar realmente, ya que el Flash Player corre el garbage collector cada cierto tiempo (que no se puede forzar) y se carga lo que no está mas referenciado en el code, por eso se dice que se "marca para borrar"

Jorge

Por solisarg

BOFH

13669 de clabLevel

4 tutoriales
5 articulos

Genero:Masculino   Bastard Operators From Hell Premio_Secretos

Argentina

firefox
Citar            
MensajeEscrito el 09 Oct 2008 11:06 am
Muchas gracias por tu respuesta.

Un saludo.

Por isidoro

Claber

498 de clabLevel

2 tutoriales

Genero:Masculino  

firefox

 

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