Форум 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)
-   -   Можно ли получить список потомков movie clip? (http://www.flasher.ru/forum/showthread.php?t=81358)

Techmaker 18.06.2006 15:57

Цитата:

Сообщение от iNils
2Techmaker : тоже вариант :) но и него тоже есть минус, если объект появляется на сцене кадрами позднее, то он не будет автоматически зарегистрирован, следовательно опять надо вызывать функцию регистрации. В первом способе это происходило автоматически (вот только onEnterFrame собственный всю малину портил :)). Все таки хотелось чтобы объект сам себя регистировал без лишнего кода.:umnik2:

а я хотел сделать просто вариант регистрации обьектов в клипе =) а не глобально =)

а зачем тебе onEnterFrame если нужно останавливать анимацию?

Nirth 18.06.2006 15:58

Чтобы объект сам себя зарегистрировал, нужно создать класс типа
Код:

class MyRegisteredMC extends MovieClip
{
    public static var register:Array = new Array();
    public function MyRegisteredMC()
    {
          register.push(this);
    }
}

и не мучатся

kayama 19.06.2006 10:10

А что дебаггер включить не работает? - Он же покаывает всю структуру клипа...

Techmaker 19.06.2006 12:58

Цитата:

Сообщение от Nirth
Чтобы объект сам себя зарегистрировал, нужно создать класс типа
Код:

class MyRegisteredMC extends MovieClip
{
    public static var register:Array = new Array();
    public function MyRegisteredMC()
    {
          register.push(this);
    }
}

и не мучатся

я не это имел ввиду =))

zzz_dmg 03.04.2009 15:55

добрые люди, исходники хорошие - все работает)) но у меня такой вопрос. у меня главная сцена состоит из мувиклипов в каждом кадре. а мувиклипы в свою очередь содержат анимацию. когда я вставляю код для паузы - первый раз срабатывает - пауза в том кадре-мувике, который стопится, но по нажатию на плей начинает проигрывать не тот мувик, который остановился, а главная сцена root.
подскажите, как сделать так, чтобы этот код не затрагивал сцену, только мувиклип/кадр? не хотелось бы все переносить на главную сцену( пожалуйста...

Bорон 03.04.2009 16:41

Эм... код, насколько я помню, писался для запуска и останова всех потомков некого мувиклипа. Если запустить нужно один конкретный, то просто обратись к нему и запусти. А код, насколько я, опять таки, помню, - реагирует на объект который ему передашь.
+ а зачем ты сюда приплел таймлайн?

zzz_dmg 03.04.2009 16:53

у меня мультфильм состоит из 25 сцен. каждую сцену я положила в отдельный мувик. вставляю этот код. он останавливает мувик, котырый сейчас на таймлайне, но когда нажимаю плей, то проигрывается основная сцена(

Bорон 03.04.2009 19:05

Вложений: 1
Код AS1/AS2:

stop();
_root.stop_all = function(obj){
        obj.stop();
        for (var i in obj) {
                if (typeof(obj[i]) == "movieclip"){
                        stop_all(obj[i]);
                }
        }
}
 
_root.play_all = function(obj){
        obj.play();
        for(var i in obj) {
                if (typeof(obj[i]) == "movieclip"){
                        play_all(obj[i]);
                }
        }
}
 
_root.stop_it_all.onRelease = function(){
        stop_all(_root.movie_part);
}
 
_root.start_it_all.onRelease = function(){
        play_all(_root.movie_part);
}

Вот код.
Наслаждайтесь.
Во вложении fla примера


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

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