Форум Flasher.ru
Ближайшие курсы в Школе RealTime
Список интенсивных курсов: [см.]  
  
Специальные предложения: [см.]  
  
 
Блоги Правила Справка Пользователи Календарь Сообщения за день
 

Вернуться   Форум Flasher.ru > Flash > ActionScript 1.0/2.0

Версия для печати  Отправить по электронной почте    « Предыдущая тема | Следующая тема »  
Опции темы Опции просмотра
 
Создать новую тему Ответ
Старый 17.06.2006, 18:51
Bорон вне форума Посмотреть профиль Отправить личное сообщение для Bорон Посетить домашнюю страницу Bорон Найти все сообщения от Bорон
  № 1  
Ответить с цитированием
Bорон
 
Аватар для Bорон

Регистрация: Jun 2005
Адрес: Очень странное место
Сообщений: 329
Отправить сообщение для Bорон с помощью ICQ
По умолчанию Можно ли получить список потомков movie clip?

Доброго времени суток.
Есть небольшой анимационный ролик.
Куча разных мелких зацикленных анимашек.
Нужно что бы по клику на кнопку "стоп" вся анимация ролика останавливалась.
Ну, и соответственно по нажатию на кнопку "старт" запускалась.
Так как анимашек много и в них есть вложенные анимашки в которые вложены другие анимашки, то руками последовательно останавливать все мувики это весьма неблагодарная и тяжолая работа.
Хотел написать функцию, которая будет при указании объекта останавливать его и всех его потомков.
Но не могу сообразить - как получить список потомков класа MovieClip данного обьекта ?

Это возможно ?

Сразу отмечу, что имена клипов не однородны.
Очень надеюсь на вашу помощь.

С уважением. Ворон.
__________________
Студия "Ночной народ" | http://nightfolk.net/

Старый 17.06.2006, 19:35
Techmaker вне форума Посмотреть профиль Отправить личное сообщение для Techmaker Найти все сообщения от Techmaker
  № 2  
Ответить с цитированием
Techmaker
"человек"
 
Аватар для Techmaker

Регистрация: Nov 2002
Адрес: +-
Сообщений: 1,807
Цитата:
Сообщение от Bорон
Это возможно ?
если все потомки точно проигрываются (play())
если нет то нет, так как отследить проигрывается или нет нельзя.

ЗЫ: если клипов очень много - будет небольшой стопор, на маломощных компах может подвиснуть (от такого стопа и старта)

я уже пробовал такое делать.

если хочешь могу сделать пример перелистывания всех потомков.
__________________
flash it

Старый 17.06.2006, 20:15
Bорон вне форума Посмотреть профиль Отправить личное сообщение для Bорон Посетить домашнюю страницу Bорон Найти все сообщения от Bорон
  № 3  
Ответить с цитированием
Bорон
 
Аватар для Bорон

Регистрация: Jun 2005
Адрес: Очень странное место
Сообщений: 329
Отправить сообщение для Bорон с помощью ICQ
Цитата:
Если все потомки точно проигрываются (play())
если нет то нет, так как отследить проигрывается или нет нельзя.
Бррр... Ничего не понял...
Ты имееешь в виду определение проигрывается ли ролик или нет ?
Такой задачи просто не стоит.
(Хотя при каждом "стоп" и "пуск" можно менять переменную состояния объекта)
При нажатии "стоп" к каждому потомку класса movie clip применяется метод stop().
Только хотелось бы определять, что из них Movieclip, что бы применить к нему функцию рекурсивно.
Подскажешь, как это сделать ?

Цитата:
ЗЫ: если клипов очень много - будет небольшой стопор, на маломощных компах может подвиснуть (от такого стопа и старта)
Врядли... У меня все же не настолько МНОГО объектов.

Цитата:
если хочешь могу сделать пример перелистывания всех потомков.
Очень хочу.
Поооожжжжаааалуста !
__________________
Студия "Ночной народ" | http://nightfolk.net/

Старый 17.06.2006, 20:20
Буньков Максим вне форума Посмотреть профиль Отправить личное сообщение для Буньков Максим Посетить домашнюю страницу Буньков Максим Найти все сообщения от Буньков Максим
  № 4  
Ответить с цитированием
Буньков Максим
[+1 02.06.2006]
[+1.4 01.04.2006]
[+1 01.07.2006]
 
Аватар для Буньков Максим

Регистрация: Feb 2003
Адрес: Екатеринбург
Сообщений: 848
Отправить сообщение для Буньков Максим с помощью ICQ
Рекурсивно перечиляй for in и скань на tуpeof
__________________
С уважением, Maksi.

Старый 17.06.2006, 20:38
Bорон вне форума Посмотреть профиль Отправить личное сообщение для Bорон Посетить домашнюю страницу Bорон Найти все сообщения от Bорон
  № 5  
Ответить с цитированием
Bорон
 
Аватар для Bорон

Регистрация: Jun 2005
Адрес: Очень странное место
Сообщений: 329
Отправить сообщение для Bорон с помощью ICQ
Спасибо !
Сейчас буду пробовать.
__________________
Студия "Ночной народ" | http://nightfolk.net/

Старый 17.06.2006, 21:56
Bорон вне форума Посмотреть профиль Отправить личное сообщение для Bорон Посетить домашнюю страницу Bорон Найти все сообщения от Bорон
  № 6  
Ответить с цитированием
Bорон
 
Аватар для Bорон

Регистрация: Jun 2005
Адрес: Очень странное место
Сообщений: 329
Отправить сообщение для Bорон с помощью ICQ
Урааааааа!
Все получилось !

Спасибо всем еще раз !
__________________
Студия "Ночной народ" | http://nightfolk.net/

Старый 17.06.2006, 22:10
iNils вне форума Посмотреть профиль Отправить личное сообщение для iNils Посетить домашнюю страницу iNils Найти все сообщения от iNils
  № 7  
Ответить с цитированием
iNils
Негуру
 
Аватар для iNils

администратор
Регистрация: Jan 2000
Адрес: Кёнигсберг in Moscow
Сообщений: 21,883
Записей в блоге: 7
Вот еще один вариант, но с ограничением. Не работает для того мувиклипа, для которого в том же кадре где он появляется навесить onEnterFrame (в примере это демонстрирует самый левый синий круг).

Спасибо Nirth'у за помощь
Вложения
Тип файла: zip AllStopAndPlay.zip (8.2 Кб, 212 просмотров)
__________________
(и)Нильс.ru | Плагины для FlashDevelop


Последний раз редактировалось iNils; 30.05.2008 в 15:46.
Старый 18.06.2006, 10:14
Techmaker вне форума Посмотреть профиль Отправить личное сообщение для Techmaker Найти все сообщения от Techmaker
  № 8  
Ответить с цитированием
Techmaker
"человек"
 
Аватар для Techmaker

Регистрация: Nov 2002
Адрес: +-
Сообщений: 1,807
Цитата:
Сообщение от Bорон
Очень хочу.
Поооожжжжаааалуста !
Цитата:
Сообщение от iNils
Вот еще один вариант, но ограничением. Не работает для того мувиклипа, дл якоторого в том же кадре где он появляется навесить onEnterFrame (в примере это демонстрирует самый левый синий круг).

Спасибо Nirth'у за помощь
хъ
немного переделал модифицировал твой пример =)
убрар прототипы и onEnterFrame теперь можно использовать

сделал регистрацию обьектов с возможностью исключения и setInterval'ом у каждого.
Вложения
Тип файла: zip broadcastMassage__.zip (7.2 Кб, 158 просмотров)
__________________
flash it

Старый 18.06.2006, 11:34
7thsky™ вне форума Посмотреть профиль Отправить личное сообщение для 7thsky™ Найти все сообщения от 7thsky™
  № 9  
Ответить с цитированием
7thsky™
Flash Aксакал
 
Аватар для 7thsky™

Регистрация: 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]);
			// ищем в нём обьекты
		}
	}
};

Старый 18.06.2006, 11:57
iNils вне форума Посмотреть профиль Отправить личное сообщение для iNils Посетить домашнюю страницу iNils Найти все сообщения от iNils
  № 10  
Ответить с цитированием
iNils
Негуру
 
Аватар для iNils

администратор
Регистрация: Jan 2000
Адрес: Кёнигсберг in Moscow
Сообщений: 21,883
Записей в блоге: 7
2Techmaker : тоже вариант но и него тоже есть минус, если объект появляется на сцене кадрами позднее, то он не будет автоматически зарегистрирован, следовательно опять надо вызывать функцию регистрации. В первом способе это происходило автоматически (вот только onEnterFrame собственный всю малину портил ). Все таки хотелось чтобы объект сам себя регистировал без лишнего кода.
__________________
(и)Нильс.ru | Плагины для FlashDevelop

Создать новую тему Ответ Часовой пояс GMT +4, время: 03:30.
Быстрый переход
  « Предыдущая тема | Следующая тема »  

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.


 


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


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