Форум 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)
-   -   Дублирование мувиклипов в многомерных динамических клипах (http://www.flasher.ru/forum/showthread.php?t=143267)

KirAmp 11.08.2010 23:26

Дублирование мувиклипов в многомерных динамических клипах
 
Итак у меня есть некое меню, создаваемое динамически и в нем есть подменю, создаваемое так же динамически, но проблема в том что Flash не создает эллементы подменю
Код AS1/AS2:

for (var i:Number = 1; i < DJlength; i++)
{
        dj0.duplicateMovieClip("dj" + i,getNextHighestDepth());
        var DJprogramLength = MenuXML.firstChild.childNodes[i].childNodes.length;
        for (var j:Number = 0; j < DJprogramLength; j++)
        {
                this['dj' + i].b0.duplicateMovieClip(this['dj' + i]['b' + j],this['dj' + i]['b' + j].getNextHighestDepth());
                trace(this['dj' + i]['b' + j]);
        }
}

Цитата:

Сообщение от trace
_level0.dj1.b0
undefined
_level0.dj2.b0
undefined
undefined

p.s. _level0.dj0.b0 уже есть на рабочей области
p.p.s за j = 0 у цикла не ругайте, сделал чтобы проверить трейс при обращении

Вопрос такой, где я ошибся, какие есть пути решения (если ошибка в многомерности)?
Спасибо!

rainbowrussia 12.08.2010 00:23

По-моему во втором дупликейт надо писать не "this['dj' + i]['b' + j]", а "'dj' + i + 'b' + j"? Точнее даже не так, а
Код:

'b' + j
И getNext... тоже по-моему не так должен выглядеть... в общем попробуйте так:
Код:

this['dj' + i].b0.duplicateMovieClip('b' + (j+1),this['dj' + i].getNextHighestDepth());
К j пришлось добавить 1, так как у вас цикл с нуля, а b0 уже есть. Ну и в трейте тоже к j надо единичку добавить.

KirAmp 12.08.2010 00:46

rainbowrussia
Спасибо большое =)
Иногда относительная адресация "выносит мозг"


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

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