E.Q.
29.06.2008, 22:03
Эм... Дело обстоит так. Загружаю xml-файл, все прекрасно читается, и по нему выстраиваются клипы на сцене.
Все строится тремя циклами, соответственно три уровня иерархии.
function chainReaction() {
// Установка положений объектов
// Фонового листа
_root.sheet_mc._y = Stage.height/2-_root.sheet_mc._height/2;
_root.sheet_mc._x = 10;
//Цикл создания блоков
for (var b = 0; b<_root.h_xml.firstChild.childNodes.length; b++) {
trace("block "+b);
_root.attachMovie("block","block"+b+"_mc",getNextHighestDepth());
_root["block"+b+"_mc"]._y = _root.sheet_mc._y+11;
_root["block"+b+"_mc"]._x = _root.sheet_mc._x+_root["block"+b+"_mc"]._width*b;
_root.vertHeit = _root["block"+b+"_mc"]._y;
trace("block y = "+_root["block"+b+"_mc"]._y);
//Цикл создания категорий
for (var c = 0; c<_root.h_xml.firstChild.childNodes[b].childNodes.length; c++) {
trace("+ category "+c+" "+_root.h_xml.firstChild.childNodes[b].childNodes[c].attributes.ttl);
_root.attachMovie("category","cat"+c+"_mc",getNextHighestDepth());
_root["cat"+c+"_mc"]._y = _root.vertHeit;
_root.vertHeit += 20;
_root["cat"+c+"_mc"]._x = _root["block"+b+"_mc"]._x+_root["block"+b+"_mc"]._width/2-_root["cat"+c+"_mc"]._width/2;
_root["cat"+c+"_mc"].txt.text = _root.h_xml.firstChild.childNodes[b].childNodes[c].attributes.ttl;
//Цикл создания ссылок
for (var k = 0; k<_root.h_xml.firstChild.childNodes[b].childNodes[c].childNodes.length; k++) {
trace(" + link "+k+" "+_root.h_xml.firstChild.childNodes[b].childNodes[c].childNodes[k].attributes.site+" y="+_root.vertHeit);
_root.attachMovie("link","link"+k+"_mc",getNextHighestDepth());
_root["link"+k+"_mc"]._y = _root.vertHeit;
_root.vertHeit += 15;
_root["link"+k+"_mc"]._x = _root["cat"+c+"_mc"]._x;
_root["link"+k+"_mc"].txt.text = _root.h_xml.firstChild.childNodes[b].childNodes[c].childNodes[k].attributes.site;
}
}
}
}
М... Чтобы было понятней, вот скриншоты с разным содержанием xml:
http://images.netbynet.ru/thumbs/c86d697c94b5838d72b3db0b5b2e1c45.jpg (http://images.netbynet.ru/img.php?c86d697c94b5838d72b3db0b5b2e1c45.jpg) http://images.netbynet.ru/thumbs/9ea57ee267415fd542b68e1d7a94ac9c.jpg (http://images.netbynet.ru/img.php?9ea57ee267415fd542b68e1d7a94ac9c.jpg) http://images.netbynet.ru/thumbs/75eb920aaebc2eaf3411e947f1962efe.jpg (http://images.netbynet.ru/img.php?75eb920aaebc2eaf3411e947f1962efe.jpg) http://images.netbynet.ru/thumbs/f104fc0747454b540af073cbaaa6c2e2.jpg (http://images.netbynet.ru/img.php?f104fc0747454b540af073cbaaa6c2e2.jpg)
Непонятно, почему трэйсом все нормально выводится, а при выстраивании клипов такое разнообразие?
А самое неподдающееся моему объяснению на последних двух скринах - xml обрабатывается как будто кусками... Может ктонибудь может дать мне совет или объяснение происходящего?
И еще вопрос, может ли флешка вести себя по разному на разных компьютерах (имеется в виду железо)?
Все строится тремя циклами, соответственно три уровня иерархии.
function chainReaction() {
// Установка положений объектов
// Фонового листа
_root.sheet_mc._y = Stage.height/2-_root.sheet_mc._height/2;
_root.sheet_mc._x = 10;
//Цикл создания блоков
for (var b = 0; b<_root.h_xml.firstChild.childNodes.length; b++) {
trace("block "+b);
_root.attachMovie("block","block"+b+"_mc",getNextHighestDepth());
_root["block"+b+"_mc"]._y = _root.sheet_mc._y+11;
_root["block"+b+"_mc"]._x = _root.sheet_mc._x+_root["block"+b+"_mc"]._width*b;
_root.vertHeit = _root["block"+b+"_mc"]._y;
trace("block y = "+_root["block"+b+"_mc"]._y);
//Цикл создания категорий
for (var c = 0; c<_root.h_xml.firstChild.childNodes[b].childNodes.length; c++) {
trace("+ category "+c+" "+_root.h_xml.firstChild.childNodes[b].childNodes[c].attributes.ttl);
_root.attachMovie("category","cat"+c+"_mc",getNextHighestDepth());
_root["cat"+c+"_mc"]._y = _root.vertHeit;
_root.vertHeit += 20;
_root["cat"+c+"_mc"]._x = _root["block"+b+"_mc"]._x+_root["block"+b+"_mc"]._width/2-_root["cat"+c+"_mc"]._width/2;
_root["cat"+c+"_mc"].txt.text = _root.h_xml.firstChild.childNodes[b].childNodes[c].attributes.ttl;
//Цикл создания ссылок
for (var k = 0; k<_root.h_xml.firstChild.childNodes[b].childNodes[c].childNodes.length; k++) {
trace(" + link "+k+" "+_root.h_xml.firstChild.childNodes[b].childNodes[c].childNodes[k].attributes.site+" y="+_root.vertHeit);
_root.attachMovie("link","link"+k+"_mc",getNextHighestDepth());
_root["link"+k+"_mc"]._y = _root.vertHeit;
_root.vertHeit += 15;
_root["link"+k+"_mc"]._x = _root["cat"+c+"_mc"]._x;
_root["link"+k+"_mc"].txt.text = _root.h_xml.firstChild.childNodes[b].childNodes[c].childNodes[k].attributes.site;
}
}
}
}
М... Чтобы было понятней, вот скриншоты с разным содержанием xml:
http://images.netbynet.ru/thumbs/c86d697c94b5838d72b3db0b5b2e1c45.jpg (http://images.netbynet.ru/img.php?c86d697c94b5838d72b3db0b5b2e1c45.jpg) http://images.netbynet.ru/thumbs/9ea57ee267415fd542b68e1d7a94ac9c.jpg (http://images.netbynet.ru/img.php?9ea57ee267415fd542b68e1d7a94ac9c.jpg) http://images.netbynet.ru/thumbs/75eb920aaebc2eaf3411e947f1962efe.jpg (http://images.netbynet.ru/img.php?75eb920aaebc2eaf3411e947f1962efe.jpg) http://images.netbynet.ru/thumbs/f104fc0747454b540af073cbaaa6c2e2.jpg (http://images.netbynet.ru/img.php?f104fc0747454b540af073cbaaa6c2e2.jpg)
Непонятно, почему трэйсом все нормально выводится, а при выстраивании клипов такое разнообразие?
А самое неподдающееся моему объяснению на последних двух скринах - xml обрабатывается как будто кусками... Может ктонибудь может дать мне совет или объяснение происходящего?
И еще вопрос, может ли флешка вести себя по разному на разных компьютерах (имеется в виду железо)?