![]() |
Document class создается не первым
Простая флешка. На сцене находится только один муви клип. Он при создании должен подписаться на событие главного класса. Так вот у клипа конструктор вызывается перед конструктором Document class'a, что приводит к рантайм ошибке.
На сколько это нормально? И что делать в таких ситуациях? |
1. подписывать из Документ-класса (криво, но идея использования объектов на сцене + документ класса сама по себе кривая...)
2. слушать ADDED_TO_STAGE у стейджа, если таргет события == Документ-класс - подисываться... (ну тоже красивым решением не назовешь...) |
Цитата:
|
Потому, что Документ-класс должен инициализироваться первым, иначе логика приложения нарушается.
Например, если нужно "перезапустить" все приложение - но, если его запуск зависел от какого-то клипа на сцене, который мог быть удален в процессе работы - никакого перезапуска не получится. |
Цитата:
Объясню ситуацию, чтобы было нагляднее. Есть эмулятор телефона. На нем есть экран и клавиатура. Экран при создании должен подписаться на события клавиатуры. К клавиатуре он пытается достучаться через документ класс (он ведь главный, и содержит этот клип). Но почему-то экран создается быстрее самого документ класса, что и приводит к ошибке. Проблему то решил созданием объектов в конструкторе документ класса. но все равно этот вопрос меня интересует. Как-то нелогично получается. |
Пусть стучится до класса документа по ADDED или ADDED_TO_STAGE.
Логичнее было бы если из конструктора класса документа не были бы доступны мувики созданные в среде? |
Ну... а мне почем знать почему он раньше создается? =) Т.е. почему - я примерно могу себе представить, а вот зачем так сделано - не знаю =) Мало ли фич, которыми лучше не пользоваться не смотря на то, что технически их сделать никакого труда не составит =)
badun: не, логичнее было бы, если бы мувики созданные в среде создавались последовательно после того, как будет создан "главный" мувик - он же документ класс =) они ж по идее его "дети" как ж это они вперед "батька"? =) |
Если бы они создавались после главного мувика, они не были бы доступны в его конструкторе. Как в таком случае достучаться до них, ловить каждого на стадии bubbling события ADDED?
|
Чесно - я вообще за рантайм ошибку при создании чего бы то ни было "не проконсультировавшись" с Документ классом с примерно таким текстом: "Alas! 3999(a): Ye shall not reap yet thy sow!" =) Но, если это неизбежно - ну, да... слушать когда добавили... а что?
*Благо наш QА не подозревает о существовании дебаг плеера... :rolleyes: * |
по-моему все-таки проще чтобы каждый ребенок слушал когда его добавили ))
|
| Часовой пояс GMT +4, время: 14:03. |
Copyright © 1999-2008 Flasher.ru. All rights reserved.
Работает на vBulletin®. Copyright ©2000 - 2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Администрация сайта не несёт ответственности за любую предоставленную посетителями информацию. Подробнее см. Правила.