Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > ActionScript 1,2 > От новичка: проблема с this.removeMovieClip()


Автор: LanVision 11.3.2009, 18:20
Хело.

Я новичек, причем полный. Пожалуйста, не ругайте за глупые вопросы smile 

Вобщем, вот функция (упростил, чтобы показать суть)
Код

    function die()
    {
        this.removeMovieClip();
        score = 2;
        trace(score);
    }

Естественно, перед этим стоит var score; где надо. В данном примере я получаю undefined в аутпуте. Если переместить this.removeMovieClip(); в конец (после trace), то все работает, аутпут выдает 2. А почему так происходит?? Я было подумал, что, this.removeMovieClip(); удаляет клипчик и прекращает выполнение скрипта, но, тогда бы и trace не выполнялся бы, а он выполняется, хоть и выдает undefined. Расскажите, пожалуйста, новичку...

Спасибо!

Автор: bars80080 11.3.2009, 18:23
а что подразумевает this? в представленном коде, как я понимаю, он определяет _root, а все переменные определённые "просто" var score = 0; фактически являются свойствами этой шкалы, т.е. полная запись: _root.score . соответственно, снося this, ты уничтожаешь и все переменные


имхо

Автор: LanVision 11.3.2009, 18:39
Хмм... ну это не _root, это отдельный класс, но, как я понимаю, суть от этого не меняется: снося this, я уничтожаю все переменные, созданные тут же. Спасибо. Я просто думал, что снося клипчик, я сношу собсно сам клипчик (т.е. анимацию), а не переменные тоже.

Автор: bars80080 11.3.2009, 18:47
не, смотря где переменные и где клипы. т.к. this - я понимаю, мы внутри класса. а переменная внутри класса создана? тогда да, сносится вместе с ней.

Автор: LanVision 11.3.2009, 19:37
Всё ясно. Теперь недоразумений будет меньше smile Спасибо smile

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)