Форум Flasher.ru

Форум Flasher.ru (http://www.flasher.ru/forum/index.php)
-   ActionScript 3.0 (http://www.flasher.ru/forum/forumdisplay.php?f=83)
-   -   Не появляются вложенные DisplayObject'ы (http://www.flasher.ru/forum/showthread.php?t=125583)

$mival 27.05.2009 21:12

Не появляются вложенные DisplayObject'ы
 
Приветствую!

Есть следующая проблема, имеем:
Flash IDE
Флешка full in one
в первом кадре прелодер, во втором Embed мувик и импорт всех классов в этот кадр.
Automatically declare stage instances - выключено.

Есть несколько визуальных классов, которые наследуются от MovieClip, имеющие множество вложенных кнопок и мувиков. Все это собрано вручную, проставлены инстансы, пролинковано в библиотеке(сам класс оболочка). импорт в первый кадр снят, т.к. все подобные классы лежат в Embed мувиклипе.

Проблема:
В какой то момент времени без изменений кода и ещё чего-либо, что могло повлиять на работоспособность, эти классы перестают прорисовывать свою начинку. Внутрилежащих мувиклипов и кнопок просто нет. Визуально их не видно и взять их каким-либо способом не получается - null.

Самое существенное что произошло так это обновление Flash Develop до RC4.
Может это как то связано? До этого всё работало как часы, и в других проектах по такой же системе.

ЗЫ: как ни странно если поставить галку импорта в 1ый кадр для такого класса, то всё работает.
в EMBED мувике все они лежат, естессно со своей начинкой, операции с ними происходят далеко, так что они должны успеть проинициализироваться 100%, что в принципе и происходило до этой проблемы.

etc 27.05.2009 22:19

Вероятно, где-то в коде есть слишком раннее обращение к этим классам.

silin 27.05.2009 22:29

нужен простейший пример, чтоб пощупать..
а вообще мне кажется дешевле будет скомпилить это добро mxmlc (в том же FD есть замечательный шаблон двухкадрового мувика ), чем разгадывать шарады IDE-шного компилятора

$mival 28.05.2009 07:37

Цитата:

Сообщение от __etc (Сообщение 823726)
Вероятно, где-то в коде есть слишком раннее обращение к этим классам.

Входная точка - документ класс, он ничего не делает пока таймлайн не проиграется до последнего кадра.

Цитата:

Сообщение от silin (Сообщение 823730)
нужен простейший пример, чтоб пощупать..
а вообще мне кажется дешевле будет скомпилить это добро mxmlc (в том же FD есть замечательный шаблон двухкадрового мувика ), чем разгадывать шарады IDE-шного компилятора

да так и буду делать с новой задачей :victory:

$mival 28.05.2009 14:12

Вложений: 1
прилагаю файл чтоб не говорить о чем то абстрактном :)
должны отрисовываться кнопочки, что не происходит.

etc 28.05.2009 14:58

Вложений: 1
В Document.as нельзя явно указывать какие-либо классы из второго и последующих фреймов. В таком случае, использование getDefinition никакой полезной нагрузки не несет.

Нет смысла и в контроллере, зачем он использует getDefinition, если все классы на момент его инициализации уже есть?

Ну и в третьих, для мувика LF_FILTER неправильно был указан класс.

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

p. S. Триггер _addedToStage используется для предотвращения множественного ADDED_TO_STAGE.

$mival 28.05.2009 17:37

Цитата:

Сообщение от __etc (Сообщение 823886)
В Document.as нельзя явно указывать какие-либо классы из второго и последующих фреймов. В таком случае, использование getDefinition никакой полезной нагрузки не несет.

Нет смысла и в контроллере, зачем он использует getDefinition, если все классы на момент его инициализации уже есть?

Ну и в третьих, для мувика LF_FILTER неправильно был указан класс.

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

p. S. Триггер _addedToStage используется для предотвращения множественного ADDED_TO_STAGE.

мда, с getDefinition и всё что из него вытекло я конечно не подумал.
благодарю за советы и исправленный код :umnik2:

Greenish 28.05.2009 17:38

в данном примере getDefinition в контроллере действительно не нужен но я предполагаю, что возможно в последствии будет браться не именно этот класс, а например рандомно из списка.. возможно:)

Добавлено через 1 минуту
хотя видимо нет:)))

etc 28.05.2009 17:41

Greenish, getDefinition тут нужен исключительно в прелоадере. В остальных местах он не требуется.


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

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