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

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

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

Регистрация: Jul 2007
Адрес: Украина Днепропетровск
Сообщений: 312
Записей в блоге: 1
По умолчанию Как выгрузить сразу все динамические мувики?

Доброго времени суток форумчане!!!

Если способ выгрузить все динамически созданные мувики....?

Заранее большое спасибо...

Старый 03.12.2007, 11:41
CrazyFlasher вне форума Посмотреть профиль Отправить личное сообщение для CrazyFlasher Найти все сообщения от CrazyFlasher
  № 2  
Ответить с цитированием
CrazyFlasher
 
Аватар для CrazyFlasher

Регистрация: May 2003
Адрес: Tallinn
Сообщений: 3,182
циклом for например
__________________
Flash Developer
Папа TDP4 Team Battle

Старый 03.12.2007, 13:23
Molecula вне форума Посмотреть профиль Отправить личное сообщение для Molecula Найти все сообщения от Molecula
  № 3  
Ответить с цитированием
Molecula
 
Аватар для Molecula

Регистрация: Apr 2007
Сообщений: 1,369
Удалить или очистить?

Старый 03.12.2007, 13:28
telit вне форума Посмотреть профиль Отправить личное сообщение для telit Найти все сообщения от telit
  № 4  
Ответить с цитированием
telit
 
Аватар для telit

Регистрация: Jul 2007
Сообщений: 306
При создании мувиков запихиваешь их в массив, а потом при помощи цикла removeMovieClip(...) или unloadMovie(...)

Старый 03.12.2007, 13:29
Dimmi вне форума Посмотреть профиль Отправить личное сообщение для Dimmi Найти все сообщения от Dimmi
  № 5  
Ответить с цитированием
Dimmi
[+4 13.12.07]
 
Аватар для Dimmi

Регистрация: Jun 2007
Сообщений: 80
попробуй removeMovieClip()
гы telit быстрее )
__________________
Try Jesus! If u don't like Him,Devil take u back.

Старый 03.12.2007, 14:59
Double вне форума Посмотреть профиль Отправить личное сообщение для Double Найти все сообщения от Double
  № 6  
Ответить с цитированием
Double
 
Аватар для Double

Регистрация: Mar 2001
Сообщений: 1,147
Код:
for (i in _root) if (typeof(_root[i])=="movieclip") _root[i].removeMovieClip();
всё созданное ручками останется. всё созданное динамически будет ремувнуто.
__________________
Кто говорит, тот не знает. Кто знает, тот не говорит.

Старый 02.06.2008, 03:01
mastergrom вне форума Посмотреть профиль Отправить личное сообщение для mastergrom Найти все сообщения от mastergrom
  № 7  
Ответить с цитированием
mastergrom

Регистрация: Dec 2007
Сообщений: 12
А если ты атачишь мувик в другой? например в с инстансе нейм main ?
как оттуда удалить все динамически созданные ?

Старый 02.06.2008, 10:15
Alex_beginner вне форума Посмотреть профиль Отправить личное сообщение для Alex_beginner Найти все сообщения от Alex_beginner
  № 8  
Ответить с цитированием
Alex_beginner
 
Аватар для Alex_beginner

Регистрация: May 2008
Сообщений: 476
mastergrom! А Вы пути пропишите к контейнеру! Допустим не _root[i], а скажем _root.container[i]. Или на шкале контейнера this[i] (не рекомендуется, нарушается централизация кода).

Старый 02.06.2008, 11:11
Psycho Tiger вне форума Посмотреть профиль Отправить личное сообщение для Psycho Tiger Найти все сообщения от Psycho Tiger
  № 9  
Ответить с цитированием
Psycho Tiger
 
Аватар для Psycho Tiger

блогер
Регистрация: Jun 2005
Адрес: Toronto
Сообщений: 6,601
Записей в блоге: 17
Если атачишь мувик в другой, то цикл вроде
Код:
for (i in _root) if (typeof(_root[i])=="movieclip") _root[i].removeMovieClip();
Не поможет.
Если максимальная вложенность будет равна 2, то можно сделать нечто вроде этого:
Код:
for (i in _root) 
for (j in _root[i]){
if (typeof(_root[i])=="movieclip") _root[i].removeMovieClip();
else if (typeof(_root[i][j])=="movieclip") _root[i][j].removeMovieClip();
//else if т.к. если мы удалили родителя, то удалили и дочерей
}
Если вложенность больше, то нужно делать рекурсию, думать как её написать лень
Да и эта рекурсия будет очень сильно давить на проц по сравнению со скромным пиханием все в массив и последующим удалением из него...
Так что мой выбор в данной ситуации - myArray.push(myMc);

Старый 02.06.2008, 12:52
Alex_beginner вне форума Посмотреть профиль Отправить личное сообщение для Alex_beginner Найти все сообщения от Alex_beginner
  № 10  
Ответить с цитированием
Alex_beginner
 
Аватар для Alex_beginner

Регистрация: May 2008
Сообщений: 476
Psycho Tiger! Великолепный пост! Браво!
Но есть один маленький ньюанс - а что если человек незнает сколько у него и где вложено динамических клипов. Ну например, глубина вложенности генерируется случайно. Хотя конечно это весьма странно. В этом случае записать в массив ссылки на клипы (имена) невозможно. Поэтому я предлагаю придерживаться просьбы Forward'а. А то получается, что мы ему навязываем реализацию своего проекта нежели решаем его проблему.

Попробуйте вот эту рекурсивную функцию:
Код:
function removeDynamicClips(mc:MovieClip):Void
{
	for (var i in mc)
	{
		if (mc[i].getDepth()>=0)
		{
			mc[i].removeMovieClip();
		}else
		{
			removeDynamicClips(mc[i]);
		}
	}
}


Последний раз редактировалось Alex_beginner; 02.06.2008 в 16:27.
Создать новую тему Ответ Часовой пояс GMT +4, время: 18:58.
Быстрый переход
  « Предыдущая тема | Следующая тема »  

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

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


 


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


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