Форум Flasher.ru

Форум Flasher.ru (http://www.flasher.ru/forum/index.php)
-   ActionScript 3.0 (http://www.flasher.ru/forum/forumdisplay.php?f=83)
-   -   Пауза всего swf (http://www.flasher.ru/forum/showthread.php?t=155465)

Ylik 05.05.2011 02:38

Пауза всего swf
 
Здравствуйте! Помогите, пожалуйста, подскажите как сделать паузу всего флеш-ролика (в котором множество вложенных мувиклипов)?
Я так поняла, что можно сделать массив из всех мувиклипов? Но как организовать такой массив и потом обратиться к каждому (или какму-то нужному) мувиклипу в нём?
Я пыталась разобраться с массивом:
http://www.flasher.ru/forum/showthread.php?t=155379
но пока ничего не выяснилось.
Очень большое спасибо, кто поможет!!!

in4core 05.05.2011 03:09

Код AS3:

var a:Array = [ m1,m2,m3,m4.....mN]
for(var i:int = 0; i< a.length; i++) { a[i].stop() }
or
 
for(var i:int = 0; i < n ; i ++)  {  if( this['someClip'+i ]) this['someClip' + i ].stop() }

Или сделать все клипы детьми суперКласса имеющего статический метод паузы и заполнения.

Ylik 05.05.2011 03:12

Да, но у меня проблема в том, что один мувиклип, например, лежит в другом.
Я пыталась сделать так, но так не работает:
Код AS3:

var myArray:Array = [mc1.mc2, mc3.mc4, mc5.mc6]


olexandr 05.05.2011 07:38

мувики можно попробовать собрать следующим образом (писал на скорую руку, но вроде бы работает):

Код AS3:

function getChildren($target:MovieClip):Array {
        var _arr:Array = [];
        var _len:int = $target.numChildren;
        for (var i:int = 0; i<_len; i++) {
                var _child:DisplayObject = $target.getChildAt(i);
                if (_child is MovieClip) {
                        _arr.push(_child);
                        _arr = _arr.concat(getChildren(_child as MovieClip));
                }
        }
        return _arr;
}
 
var _arr:Array = getChildren(this);

а дальше останавливать и запускать их в цикле, как написал in4core

Ylik 05.05.2011 07:40

Спасибо, но это уже слишком сложно для меня. :(

Cornford 05.05.2011 09:11

может фреймрейт сделать равным 0?

Ylik 05.05.2011 09:13

О, ето как? А что тогда будет? :)

in4core 05.05.2011 12:02

stage.frameRate = 0;

Ylik 05.05.2011 12:29

Спасибо большое! Я попробую.

Ylik 08.05.2011 18:02

Класс!!! Работает!!! Спа-си-бо большое!!! :yahoo:


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

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