![]() |
|
||||||||||
|
|||||||
|
|
« Предыдущая тема | Следующая тема » |
| Опции темы | Опции просмотра |
|
![]() |
![]() |
|
|||||
|
Доброго времени суток.
Есть небольшой анимационный ролик. Куча разных мелких зацикленных анимашек. Нужно что бы по клику на кнопку "стоп" вся анимация ролика останавливалась. Ну, и соответственно по нажатию на кнопку "старт" запускалась. Так как анимашек много и в них есть вложенные анимашки в которые вложены другие анимашки, то руками последовательно останавливать все мувики это весьма неблагодарная и тяжолая работа. Хотел написать функцию, которая будет при указании объекта останавливать его и всех его потомков. Но не могу сообразить - как получить список потомков класа MovieClip данного обьекта ? Это возможно ? Сразу отмечу, что имена клипов не однородны. Очень надеюсь на вашу помощь. С уважением. Ворон.
__________________
Студия "Ночной народ" | http://nightfolk.net/ |
|
|||||
|
"человек"
Регистрация: Nov 2002
Адрес: +-
Сообщений: 1,807
|
Цитата:
если нет то нет, так как отследить проигрывается или нет нельзя. ЗЫ: если клипов очень много - будет небольшой стопор, на маломощных компах может подвиснуть (от такого стопа и старта) я уже пробовал такое делать. если хочешь могу сделать пример перелистывания всех потомков.
__________________
flash it |
|
|||||
|
Цитата:
Ты имееешь в виду определение проигрывается ли ролик или нет ? Такой задачи просто не стоит. (Хотя при каждом "стоп" и "пуск" можно менять переменную состояния объекта) При нажатии "стоп" к каждому потомку класса movie clip применяется метод stop(). Только хотелось бы определять, что из них Movieclip, что бы применить к нему функцию рекурсивно. Подскажешь, как это сделать ? Цитата:
Цитата:
Поооожжжжаааалуста !
__________________
Студия "Ночной народ" | http://nightfolk.net/ |
|
|||||
|
[+1 02.06.2006]
[+1.4 01.04.2006] [+1 01.07.2006] |
Рекурсивно перечиляй for in и скань на tуpeof
__________________
С уважением, Maksi. |
|
|||||
|
Спасибо !
Сейчас буду пробовать.
__________________
Студия "Ночной народ" | http://nightfolk.net/ |
|
|||||
|
Урааааааа!
Все получилось ! Спасибо всем еще раз !
__________________
Студия "Ночной народ" | http://nightfolk.net/ |
|
|||||
|
Негуру
администратор
Регистрация: Jan 2000
Адрес: Кёнигсберг in Moscow
Сообщений: 21,883
Записей в блоге: 7
|
Вот еще один вариант, но с ограничением. Не работает для того мувиклипа, для которого в том же кадре где он появляется навесить onEnterFrame (в примере это демонстрирует самый левый синий круг).
Спасибо Nirth'у за помощь ![]() Последний раз редактировалось iNils; 30.05.2008 в 15:46. |
|
|||||
|
"человек"
Регистрация: Nov 2002
Адрес: +-
Сообщений: 1,807
|
Цитата:
Цитата:
немного переделал модифицировал твой пример =) убрар прототипы и onEnterFrame теперь можно использовать сделал регистрацию обьектов с возможностью исключения и setInterval'ом у каждого.
__________________
flash it |
|
|||||
|
Flash Aксакал
Регистрация: Jun 2005
Сообщений: 636
|
Техмайкер я бы так сделал бы (а то можно рекурсией убить все скрипты)
_global.findAllInMcAndRegister = function (mc) {
// функция поиска всех обьектов в любом обьекте
for (var i in mc) {
if (typeof (mc[i]) == "movieclip" && mc [i]._name == i && mc[i]._parent == mc) {
// проверяем что обьект - мувиклип
registerMcInterval (mc[i]);
// создаём для него интервал
findAllInMcAndRegister (mc[i]);
// ищем в нём обьекты
}
}
};
|
|
|||||
|
Негуру
администратор
Регистрация: Jan 2000
Адрес: Кёнигсберг in Moscow
Сообщений: 21,883
Записей в блоге: 7
|
2Techmaker : тоже вариант
но и него тоже есть минус, если объект появляется на сцене кадрами позднее, то он не будет автоматически зарегистрирован, следовательно опять надо вызывать функцию регистрации. В первом способе это происходило автоматически (вот только onEnterFrame собственный всю малину портил ). Все таки хотелось чтобы объект сам себя регистировал без лишнего кода.![]() |
![]() |
![]() |
Часовой пояс GMT +4, время: 03:48. |
|
|
« Предыдущая тема | Следующая тема » |
|
|