PDA

Просмотр полной версии : Как убрать все клипы с экрана?


Boris
12.02.2010, 17:36
Вроде бы простая штука, а решение не могу найти.
Весь экран в клипах, добавленых динамически, т.е. с чудовищными именами :)
Хочу перейти в другой кадр, а клипы-то остаются висеть на экране !

Есть команда, полностью очищающая экран ?

Hauts
12.02.2010, 17:40
for (var i in _root) {
if (typeof (_root[i]) == "movieclip") {
_root[i].swapDepths(_root.getNextHighestDepth());
removeMovieClip(_root[i]);
}
}

iflamberg
12.02.2010, 17:47
а swapDepths зачем?

Hauts
12.02.2010, 17:48
На всякий случай. Если глубина клипа отрицательная, removeMovieClip не сработает. Удаляет даже те клипы, которые были вручную помещены на сцену, в общем.

samana
12.02.2010, 17:49
Или так:
for (var i in _root) {
if (_root[i] instanceof MovieClip) {
removeMovieClip(_root[i]);
}
}

Boris
12.02.2010, 18:27
Ого, мне казалось, что это настолько очевидная вещь, что есть специальная функция, а не нужно изголяться с кодом.
Спасибо большое !

fessor
13.02.2010, 00:25
есть ход конем - закрыть все что есть на экране специальным фоном
или держать клипы разных сцен в разных мувиках
xxx._visible = false; //и нет ничего лишнего

samana
19.02.2010, 03:01
А так же можно создать
var mcLoader:MovieClipLoader = new MovieClipLoader();
а затем пользоваться при случае
mcLoader.unloadClip(target);
где target - любой клип, можно и _root прописать. Отчистит только всё содержимое.

udaaff
19.02.2010, 03:38
Ого, мне казалось, что это настолько очевидная вещь, что есть специальная функция, а не нужно изголяться с кодом.
Спасибо большое !
Удаление одного клипа — это очевидная вещь.

Можно просто создать контейнер, в который помещать все клипы, которые необходимо удалить. Затем просто удалять этот контейнер.

etc
19.02.2010, 08:09
_root.setMask(_root.createEmptyMovieClip('mc', 1234));
:D

Zik.
19.02.2010, 11:26
unloadMovie(_root);
:D