Показать сообщение отдельно
Старый 29.06.2008, 22:03
E.Q. вне форума Посмотреть профиль Отправить личное сообщение для E.Q. Посетить домашнюю страницу E.Q. Найти все сообщения от E.Q.
  № 1  
Ответить с цитированием
E.Q.
 
Аватар для E.Q.

Регистрация: Feb 2006
Сообщений: 425
Отправить сообщение для E.Q. с помощью ICQ
По умолчанию Странное поведение XML / циклов

Эм... Дело обстоит так. Загружаю 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:

Непонятно, почему трэйсом все нормально выводится, а при выстраивании клипов такое разнообразие?
А самое неподдающееся моему объяснению на последних двух скринах - xml обрабатывается как будто кусками... Может ктонибудь может дать мне совет или объяснение происходящего?
И еще вопрос, может ли флешка вести себя по разному на разных компьютерах (имеется в виду железо)?