PDA

Просмотр полной версии : Дублирование мувиклипов в многомерных динамических клипах


KirAmp
11.08.2010, 23:26
Итак у меня есть некое меню, создаваемое динамически и в нем есть подменю, создаваемое так же динамически, но проблема в том что Flash не создает эллементы подменю
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]);
}
}
_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
Спасибо большое =)
Иногда относительная адресация "выносит мозг"