Форум Flasher.ru

Форум Flasher.ru (http://www.flasher.ru/forum/index.php)
-   ActionScript 3.0 (http://www.flasher.ru/forum/forumdisplay.php?f=83)
-   -   Остановка всей анимации внутри объекта (http://www.flasher.ru/forum/showthread.php?t=189229)

Yulia_V 10.12.2012 18:46

Остановка всей анимации внутри объекта
 
Подскажите, есть ли простой способ остановить анимацию и главного объекта и всех которые он содержит так, чтобы не приходилось прописывать что-то вроде:
qw.qw1.stop();
qw.qw1.qw2.stop();
qw.qw1.qw2.qw3.stop();

И то же самое с запуском анимации.

spirit2 10.12.2012 18:50

http://flashgameblogs.ru/blog/actionscript/462.html

Yulia_V 11.12.2012 01:19

А без классов нельзя это сделать?

Tails 11.12.2012 11:34

Код AS3:

import flash.display.DisplayObject;
import flash.display.MovieClip;
 
stopAllChilds(myClip);
 
function stopAllChilds(clip:DisplayObject):void{
        if(clip is MovieClip){
                var curMovie:MovieClip = MovieClip(clip);
 
                curMovie.stop();
 
                for(var i:int = 0; i <  curMovie.numChildren; i++){
                        stopAllChilds(curMovie.getChildAt(i));
                }
 
        }
}

Незачто

Jewelz 11.12.2012 16:36

2 Tails, а если будет не MovieClip а Sprite, а в нем MovieClip, то не прокатит

Tails 11.12.2012 16:55

Jewelz,
Да, я думал об этом, но решил, что не стоит усложнять. Автор работает в Flash IDE, а там кроме MovieClip ничего нет.

Когда у автора сложиться более сложная ситуация, например описанная вами, он будет в силах уже самостоятельно дополнить функцию.

kackbip 11.12.2012 17:04

Цитата:

Сообщение от Jewelz (Сообщение 1109170)
2 Tails, а если будет не MovieClip а Sprite, а в нем MovieClip, то не прокатит

Точно, для DisplayObjectContainer-а надо всех детей перебирать

Jewelz 11.12.2012 17:27

Цитата:

Сообщение от Tails (Сообщение 1109173)
Jewelz,
Да, я думал об этом, но решил, что не стоит усложнять. Автор работает в Flash IDE, а там кроме MovieClip ничего нет.

Когда у автора сложиться более сложная ситуация, например описанная вами, он будет в силах уже самостоятельно дополнить функцию.

ну да, для частного случая все верно


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

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