Форум 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=93516)

Vidar 22.03.2007 18:42

Инициализация классов
 
Вопрос такой:
в библиотеке есть клип clip_1 класса class_1 в нем клип clip_2 класса class_2.

после аттача clip_1 вызывается его метод clip_1.init(), который в свою очередь вызывает метод clip_1.init(), но к этому времени class_2 еще не инициализировался и следовательно метода init у него нет.

Пару способов решения проблемы я знаю но хотелось бы услышать независимое мнение, как с этим справиться внеся минимум исправлений.

CorC 22.03.2007 18:51

получается что после аттача clip_1 вы в него должны аттачить клип 2
а уже потом вызывать инит1 который вызовет инит2 :)

Vidar 22.03.2007 18:58

этот способ я уже знаю, нужно более универсальный, clip_2 должен лежат в clip_1 изначально

iNils 22.03.2007 19:11

Код:

class class_1 extends MovieClip {
        private var clip_2:MovieClip;
        function class_1() {
                this.onEnterFrame = init;
        }
       
        private function init () {
                delete this.onEnterFrame;
                clip_2.init ();
        }
}


etc 22.03.2007 19:19

Ещё говорят, что можно использовать onLoad. Но я по привычке пользую метод iNils-а или чаще у меня просто не существует вложенных клипов, они потом создаются.

Vidar 22.03.2007 19:32

да похоже это единственный подходящий вариант, не хотелось к onEnterFrame привязываться но похоже придется. Всем сенькью

etc 22.03.2007 19:51

Почему же? Попробуй onLoad. Я им никогда не пользовался и не проверял, лень :)

iNils 22.03.2007 19:57

Цитата:

Сообщение от __etc
Почему же? Попробуй onLoad. Я им никогда не пользовался и не проверял, лень :)

Работает. Срабатывает раньше, чем onEnterFrame.

etc 22.03.2007 20:04

Но позже инициализации внутренних клипов? Если да, то лучше, наверное, использовать его.

iNils 22.03.2007 20:15

Цитата:

Сообщение от __etc
Но позже инициализации внутренних клипов? Если да, то лучше, наверное, использовать его.

Позже. Я его не использовал, так как думал, что он ведет себя также глупо как в AS1, то есть срабатывает только для рута.


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

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