Форум Flasher.ru

Форум Flasher.ru (http://www.flasher.ru/forum/index.php)
-   ActionScript 1.0/2.0 (http://www.flasher.ru/forum/forumdisplay.php?f=93)
-   -   Как убрать все клипы с экрана? (http://www.flasher.ru/forum/showthread.php?t=136247)

Boris 12.02.2010 17:36

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

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

Hauts 12.02.2010 17:40

Код AS1/AS2:

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

Или так:
Код AS1/AS2:

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

А так же можно создать
Код AS1/AS2:

var mcLoader:MovieClipLoader = new MovieClipLoader();

а затем пользоваться при случае
Код AS1/AS2:

mcLoader.unloadClip(target);

где target - любой клип, можно и _root прописать. Отчистит только всё содержимое.

udaaff 19.02.2010 03:38

Цитата:

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

Удаление одного клипа — это очевидная вещь.

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

etc 19.02.2010 08:09

Код:

_root.setMask(_root.createEmptyMovieClip('mc', 1234));
:D


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

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