PDA

Просмотр полной версии : Команда для нескольких мувиклипов.


AlexBob
19.09.2011, 18:09
Добрый день!

После наступления определенного события должны останавливаться/запускаться сразу несколько мувиклипов.

1. Как можно указать слой, чтобы все мувиклипы на этом слое остановились по команде Stop() ?
2. Или если несколько мувиклипов сложить в один, как можно их остановить, чтобы не прописывать имя каждого мувиклипа, а только родительский?

bav
19.09.2011, 19:02
2)

for (var i:int = 0; i < container.numChildren; i++)
{
var child:MovieClip = container.getChildAt(i) as MovieClip;
if (child) child.stop();
// или
if (child) child.play();
}


Добавлено через 1 минуту
1) Слои во Flash IDE исключительно для визуального удобства. В конечном swf этих слоев не существует. Существуют другие.

AlexBob
19.09.2011, 19:11
Идею понял - в цикле изобразить. Сам бы не написал.
Спасибо за помощь!

incvizitor
19.09.2011, 19:12
у детей могут тоже быть дети.


function recursiveStop(obj:MovieClip):void{
obj.stop();
for(var i:uint = 0; i < obj.numChildren; i++){
var child:DisplayObject = obj.getChildAt(i);
if(child is MovieClip) recursiveStop(child as MovieClip);
}
}


Добавлено через 8 минут
А вообще складывать мувики в один контейнер нужно тогда, когда они должны лежать в одном контейнере. Что бы сгруппировать несколько мувиков, можно сложить их в Array, или определить некий интерфейс по обращении к группе объектов. Примером может быть паттерн фасад. Или создать модель, которую будут слушать все мувики, что бы определенный момент остановиться.