PDA

Просмотр полной версии : Как "убить" экземпляр класса


Волгоградец
01.03.2008, 19:13
Здравствуйте! Объясните пожалуйста на примере - как уничтожить экземпляр класса? Ведь когда я использую метод removeMovieClip (), сам экземпляр, насколько я понял, продолжает существовать и для него будет происходить проверка onEnterFrame.
import mx.utils.Delegate;

class A {
private var missile:MovieClip;
private var speed:Number = null;

public function A (mc:MovieClip, speed:Number){
speed = speed;
missile = mc.attachMovie("bullet", "bullet", mc.getNextHighestDepth ());
missile._x = 0;
missile._y = Stage.height/2;
missile.onEnterFrame = Delegate.create(this, fly);
}

private function fly ():Void{
missile._x += 5;
if (missile._x > 200){
missile.removeMovieClip ();
}
}
}

etc
01.03.2008, 20:04
delete missle.onEnterFrame;
Экземпляр не убьете, зато удалите обработчик onEnterFrame.
Если на экземпляр больше нет ссылок, он будет удален автоматически.

Волгоградец
01.03.2008, 20:10
Спасибо. Как всегда лаконично и ясно.