Форум Flasher.ru

Форум Flasher.ru (http://www.flasher.ru/forum/index.php)
-   ActionScript (http://www.flasher.ru/forum/forumdisplay.php?f=5)
-   -   Остановка вложенных клипов (http://www.flasher.ru/forum/showthread.php?t=35037)

Schwan_Stabilo 26.07.2002 13:18

Остановка вложенных клипов
 
Приветствую. Есть вопрос. Предположим у меня на главной временной диаграмме есть клип, а в него вложено еще штук 7. Мне надо по нажатию кнопки на главной временной диаграмме остановить все что на ней находится, а потом начать с того же места. Для гланого клипа я это сделал. Но, если в каком-то месте я останавливаю главный клип, вложенный, находящийся в данном кадре, продолжает проигрыватьсяи это печально. Вопрос: можно ли останавливать все сразу, а потом запускать с того же места? Нет ли функции типа StopAll или чего-то подобного, которая бы стопила клип и все вложенные в него? Если нет, то как это в принципе можно реализовать. Клипы вкладывал руками, не програмно и они располагаются в основном клипе только в определенных областях.
P.S. Да, сразу скажу что использование loadMovie не подходит.

Darina 26.07.2002 13:27

Ну когда вкладывал клипы руками, надо было давать им instance name (movik1, ... movik7, например). А потом обращаться к ним и стопить:
glavnii_movik.movik1.stop();
и т.д. для всех мувиков
О stopAll ничего не слышала.

lexass 26.07.2002 13:28

Цитата:

продолжает проигрыватьсяи это печально
Видимо у тЯ одного такие проблемы ;)

Цитата:

Нет ли функции типа StopAll
если сам напишешь, то будет :)

myMC.stop()

Schwan_Stabilo 26.07.2002 14:12

понял, в общем-то я догадывался :), но хотел уточнить. Эх, что-то придумывать, потому что то о чем вы говорите понятно и используется, но в данном случае...посмотрим. Спасибо за совет. :)

Nox Noctis 26.07.2002 16:46

можно сделать так:
Код:

MovieClip.prototype.collapse = function() {
        this.stop();
        for (var i in this) {
                if (typeof (this[i]) == "movieclip") {
                        this[i].collapse();
                }
        }
};
MovieClip.prototype.relaunch = function() {
        this.play();
        for (var i in this) {
                if (typeof (this[i]) == "movieclip") {
                        this[i].relaunch();
                }
        }
};

чтобы остановить клип и все что в нем пишем:
любой_клип.collapse();
чтобы запустить клип и все клипы в нем снова - пишем:
любой_клип.relaunch();

Nox Noctis 26.07.2002 16:51

а можно обойтись одной функцией с параметром:
Код:

MovieClip.prototype.togglePlay = function(action) {
        this[action]();
        for (var i in this) {
                if (typeof (this[i]) == "movieclip") {
                        this[i][action]();
                }
        }
};

теперь те же действия делаем как
some_clip.togglePlay("stop");
или
some_clip.togglePlay("play");

lexass 26.07.2002 17:10

Nox Noctis, ну зачем ты людям такие сложности выдаешЬ???

Nox Noctis 26.07.2002 17:17

кхх... lexxass, я вообще-то на вопрос ответил, пока некоторые в соседнем топике черти-чем групповым занимаются :)))

зы: к тому же все что нужно чтобы воспользоваться этими "сложностями" - это скопировать скрипт и пользоваться :)

Schwan_Stabilo 26.07.2002 17:53

Это то что нужно, спасибо огромное. Все понятно и достаточно просто.

lexass 26.07.2002 17:53

:(
ИМХО
самому написать его интереснеЙ

а то дальше будут вопросы:
а куда это вставить?

ЗЫ
для использования чего-то человек должен созреть


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

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