|
|
|||||
Получить все вложенные мувики
Допустим есть мувик вложенный в мувик вложенный еще в 4 мувика. В каждом мувике какая-то анимация. Нужно каждый мувик остановить на первом кадре.
Вот такая бесконечная матрешка получается: for (var i:uint = 0; i < target_mc.numChildren; i++) { if (target_mc.getChildAt(i).hasOwnProperty("numChildren")) { target_mc.getChildAt(i).gotoAndStop(0); for (var j:uint = 0; j < target_mc.getChildAt(i).numChildren; j++) { target_mc.getChildAt(i).getChildAt(j).gotoAndStop(0); if (target_mc.getChildAt(i).getChildAt(j).hasOwnProperty("numChildren")) { for (var k:uint = 0; k < target_mc.getChildAt(i).getChildAt(j).numChildren; k++) { target_mc.getChildAt(i).getChildAt(j).getChildAt(k).gotoAndStop(0); } } } } } |
|
|||||
Lorem ipsum
|
Рекурсия поможет.
/** * Останавливает все найденные внутри obj экземпляры MovieClip (включая сам obj) * независимо от степени вложенности. */ function stopIt(obj:DisplayObject):void { var doc:DisplayObjectContainer = obj as DisplayObjectContainer; // Если это не контейнер, ничего не делаем. if (doc == null) { return; } // Если этот объект является экземпляром MovieClip, останавлиаем его. if (doc is MovieClip) { (doc as MovieClip).gotoAndStop(0); } // Вызываем stopIt() для каждого из детей объекта. var i:int = doc.numChildren; while (i--) { stopIt(doc.getChildAt(i)); } } // Тотально останавливаем target_mc. stopIt(target_mc);
__________________
Поймай яблоко 2! |
|
|||||
Спасибо, который раз уже выручаете!)
|
Часовой пояс GMT +4, время: 13:29. |
|
« Предыдущая тема | Следующая тема » |
Опции темы | |
Опции просмотра | |
|
|