![]() |
выдернуть всех чилдов из эмбед мувиклипа
Дано:
Мувик который цепляем в проект как [ Embed ( .... Создаем и кладем на сцену. Задача: В цикле выдернуть все вложенные в него мувики, из всех кадров. Именно в цикле и именно из всех кадров, но за одно вхождение в кадр. Примерное решение: от iNils: 1. раздебажить флешку внутри себя выдернуть необходимые данные. (это долго, но можно как вариант) 2. раздебажить все swf еще на этапе сборки проекта и необходимые данные засунуть в флешку (это не оптимально) Я пока думаю сделать просто предзагрузку, в которой пройтись по всем таким мувикам и надергать необходимую информацию (но это отнимет время) Кто подскажет еще варианты? |
такое подозрение, что за одно вхождение в кадр никак не узнать, что лежит в других кадрах, только если 'проехаться' по линейке в реальном времени:
Код AS3:
|
Да, как вариант, я и имел ввиду этот способ под предзагрузкой.
Только что с Нилсом обнаружили, за одно вхождение в кадр можно спокойно узнать, если компилировать в windows, если под маком получается глюк. Собственно я бился головой об стену под маком: Делаем переходы gotoAndStop в цикле на все кадры основного ролика. В нем в определенные моменты появляются чилды numChildren = 2 или 3 (все как положено), но getChildAt (2) например возвращает пустую ссылку. Видимо баг плеера под макинтошем и надо искать пути обхода. |
сомнительно, что маковский плеер так сильно отличается
к слову, у меня и в винде getChildAt дает null , при том что numChildren показывает верно (Win XP SP3, плеер 10,0,22,87, flex_sdk_3.4) |
хм ... странно как, вот ссылка на готовый проект.
Соберем статистику, у меня mac os, версия плеера 10.0.22.87, FDT сборка под Flex SDK 3.2. numChildren показывает верно, getChildAt возвращает null или undefined, иногда Object, но не DisplayObject и не MovieClip. UPD: Очень забавно, если в конструкторе цикл убрать и заменить на вызов этой функции, все встает на свои места (только время надо подобрать) У меня с единицей, все мувики кроме одного находятся, если поставить 10, то вообще все назодятся. Такое впечатление, что мувики тупо не успевают инициализироваться, где то телега вперед лошади бежит ))) Код AS3:
|
А что будете делать с клипами, которые создаются динамически? :/
|
А что с ними? С ними вроде вообще проблем нет. Или в чем конкретно вопрос?
|
имо, сомнительный выход с таймаутовым шаганием по фреймам, не дешевле/надежнее по enterFrame пустить? к слову, его ведь и задрать повыше наверное можно на это время
|
Цитата:
Код AS3:
|
Сегодня всю ночь просидел с этим багом. Вобщем пока не удалось найти нормального решения ...
Определил, что если повесить слушателя ADDED на мувик, то в момент события, на таймлайне мувика ЕСТЬ ВСЕ вложенные мувики и они не null, далее пробегаясь по ним, вешал слушателей ADDED уже на них, но здесь ситуация получалась немного хуже. Ситуация примерно такая, как если бы мы сначала сделали addChild ( movie ), а потом на movie повесили слушателя ADDED (в итоге он все равно срабатывает, но в target лежит какая то ерунда, вроде Shape) Очевидно это бага плеера, надо поискать репорты или зарепортить с примером... |
| Часовой пояс GMT +4, время: 08:21. |
Copyright © 1999-2008 Flasher.ru. All rights reserved.
Работает на vBulletin®. Copyright ©2000 - 2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Администрация сайта не несёт ответственности за любую предоставленную посетителями информацию. Подробнее см. Правила.