
Код:
function chainReaction() {
// Установка положений объектов
// Фонового листа
var mc:MovieClip = _root.sheet_mc;
var nmc:MovieClip;
var nmc0:MovieClip;
var nmc00:MovieClip;
var xml:XMLNode = _root.h_xml.firstChild;
var xml0:XMLNode;
var xml00:XMLNode;
var i:Number;
var c:Number;
var k:Number;
var l:Number = xml.childNodes.length;
var l0:Number;
var l00:Number;
mc._y = Stage.height/2 - mc._height/2;
mc._x = 10;
//Цикл создания блоков
for (i = 0; i < l; i++) {
trace("block " + i);
nmc = _root.attachMovie("block", "block" + i + "_mc", _root.getNextHighestDepth());
nmc._y = mc._y + 11;
nmc._x = mc._x + nmc._width * i;
_root.vertHeit = nmc._y;
trace("block y = " + nmc._y);
//Цикл создания категорий
xml0 = xml.childNodes[i];
l0 = xml0.childNodes.length;
for (c = 0; c < l0; c++) {
trace("+ category " + c + " " + xml0.childNodes[c].attributes.ttl);
nmc0 = _root.attachMovie("category", "cat" + c + "_mc", _root.getNextHighestDepth());
nmc0._y = _root.vertHeit;
_root.vertHeit += 20;
nmc0._x = nmc._x + nmc._width/2 - nmc0._width/2;
nmc0.txt.text = xml0.childNodes[c].attributes.ttl;
//Цикл создания ссылок
xml00 = xml0.childNodes[c];
l00 = xml00.childNodes.length;
for (var k = 0; k < l00; k++) {
trace(" + link " + k + " " + xml00.childNodes[k].attributes.site + " y=" + _root.vertHeit);
nmc00 = _root.attachMovie("link", "link" + k + "_mc", _root.getNextHighestDepth());
nmc00._y = _root.vertHeit;
_root.vertHeit += 15;
nmc00._x = nmc0._x;
nmc00.txt.text = xml00.childNodes[k].attributes.site;
}
}
}
}
Просто find-and-replace. Но, на самом деле можно было и красивше и короче =)