![]() |
Можно ли получить список потомков movie clip?
Доброго времени суток.
Есть небольшой анимационный ролик. Куча разных мелких зацикленных анимашек. Нужно что бы по клику на кнопку "стоп" вся анимация ролика останавливалась. Ну, и соответственно по нажатию на кнопку "старт" запускалась. Так как анимашек много и в них есть вложенные анимашки в которые вложены другие анимашки, то руками последовательно останавливать все мувики это весьма неблагодарная и тяжолая работа. Хотел написать функцию, которая будет при указании объекта останавливать его и всех его потомков. Но не могу сообразить - как получить список потомков класа MovieClip данного обьекта ? Это возможно ? Сразу отмечу, что имена клипов не однородны. Очень надеюсь на вашу помощь. С уважением. Ворон. |
Цитата:
если нет то нет, так как отследить проигрывается или нет нельзя. ЗЫ: если клипов очень много - будет небольшой стопор, на маломощных компах может подвиснуть (от такого стопа и старта) я уже пробовал такое делать. если хочешь могу сделать пример перелистывания всех потомков. |
Цитата:
Ты имееешь в виду определение проигрывается ли ролик или нет ? Такой задачи просто не стоит. (Хотя при каждом "стоп" и "пуск" можно менять переменную состояния объекта) При нажатии "стоп" к каждому потомку класса movie clip применяется метод stop(). Только хотелось бы определять, что из них Movieclip, что бы применить к нему функцию рекурсивно. Подскажешь, как это сделать ? Цитата:
Цитата:
Поооожжжжаааалуста ! |
Рекурсивно перечиляй for in и скань на tуpeof
|
Спасибо !
Сейчас буду пробовать. |
Урааааааа!
Все получилось ! Спасибо всем еще раз ! |
Вложений: 1
Вот еще один вариант, но с ограничением. Не работает для того мувиклипа, для которого в том же кадре где он появляется навесить onEnterFrame (в примере это демонстрирует самый левый синий круг).
Спасибо Nirth'у за помощь :) |
Вложений: 1
Цитата:
Цитата:
немного переделал модифицировал твой пример =) убрар прототипы и onEnterFrame теперь можно использовать сделал регистрацию обьектов с возможностью исключения и setInterval'ом у каждого. |
Техмайкер я бы так сделал бы (а то можно рекурсией убить все скрипты)
Код:
_global.findAllInMcAndRegister = function (mc) { |
2Techmaker : тоже вариант :) но и него тоже есть минус, если объект появляется на сцене кадрами позднее, то он не будет автоматически зарегистрирован, следовательно опять надо вызывать функцию регистрации. В первом способе это происходило автоматически (вот только onEnterFrame собственный всю малину портил :)). Все таки хотелось чтобы объект сам себя регистировал без лишнего кода.:umnik2:
|
| Часовой пояс GMT +4, время: 08:49. |
Copyright © 1999-2008 Flasher.ru. All rights reserved.
Работает на vBulletin®. Copyright ©2000 - 2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Администрация сайта не несёт ответственности за любую предоставленную посетителями информацию. Подробнее см. Правила.