Форум Flasher.ru

Форум Flasher.ru (http://www.flasher.ru/forum/index.php)
-   ActionScript 1.0/2.0 (http://www.flasher.ru/forum/forumdisplay.php?f=93)
-   -   Как "убить" экземпляр класса (http://www.flasher.ru/forum/showthread.php?t=108845)

Волгоградец 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

Спасибо. Как всегда лаконично и ясно.


Часовой пояс GMT +4, время: 16:33.

Copyright © 1999-2008 Flasher.ru. All rights reserved.
Работает на vBulletin®. Copyright ©2000 - 2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Администрация сайта не несёт ответственности за любую предоставленную посетителями информацию. Подробнее см. Правила.