Показать сообщение отдельно
Старый 21.01.2007, 01:02
KLieriK вне форума Посмотреть профиль Отправить личное сообщение для KLieriK Найти все сообщения от KLieriK
  № 6  
Ответить с цитированием
KLieriK
 
Аватар для KLieriK

Регистрация: Jul 2004
Адрес: непонятно где
Сообщений: 1,046
Отправить сообщение для KLieriK с помощью ICQ
сейчас пытаюсь зделать фото галерею (хотя бы).
думаю так:
1. создание xml объекта и обработка его onLoad:
Код:
var xml_file:String = 'gallery.xml';	
var xmlData:XML = new XML();
xmlData.ignoreWhite = true;
xmlData.onLoad = loadXML;
xmlData.load(xml_file);

xmlData.onLoad = function (success){ // check if xml file is loaded well
	if(success){	
		indicator._visible = false;
		//trace (xmlData_len);
		createXmlArray(boxid);
	}else{
		indicator.textColor = 0x00FF00;//текчтовое дин. поле отображение состояния.
		indicator.text = 'can`t load xml file';
	}
}
2. На далее начинаю делать парсинг xml на составные в массив, да бы упорядочить данные
Код:
function createXmlArray(boxId:Number) {	//creating array from xml for gallary tag name
	var xmlDataTemp:Array = new Array();
	if (boxId == 0) {//передаеться 0
		var xmlBoxLen = xmlData.firstChild.childNodes[boxId].childNodes.length;
		var xmlBox = xmlData.firstChild.childNodes[boxId].childNodes;
		var gallName:String;
		for (var i = 0; i<xmlBoxLen; ++i) {
			
			gallName = xmlBox[i].attributes.name;	// gallery title
			xmlDataTemp[gallName] = new Array();	// create array[gallery Name]
			
			for (var aNode:XMLNode = xmlBox[i].firstChild; aNode != null; aNode=aNode.nextSibling) {
				//trace (aNode.attributes.title);
				xmlDataTemp[gallName][xmlDataTemp[gallName].length] = new Array();
				xmlDataTemp[gallName][xmlDataTemp[gallName].length-1]['title'] = aNode.attributes.title;
				xmlDataTemp[gallName][xmlDataTemp[gallName].length-1]['main'] = aNode.attributes.main;
				xmlDataTemp[gallName][xmlDataTemp[gallName].length-1]['thmb'] = aNode.attributes.thmb;
			}
		}
	}

	
	return (xmlDataTemp);
}
3. далее хочу на основе выходных данных вышеуказаной ф-ии, зная кол-во елементов в массиве ([i]) создать такое же кол-во копий мувика, в который запихнуть соответствующую превью-картинку.
4. потом при создании етих превью, повесить на них код загрузки (прелоадер) для каждого рисунка (буду очень признателен есси кто-то выложит этот код. для одного мувика написать просто. а как повесить на дубликат что-то голова не варит)
5. при нажатии на соответствующий мувик-превью в главный контейнер загрузить соответствующий рисунок (на него так же вещаеться програмный прелоадер)

в общем как-то так. только мне кажеться что парсинг xml очень получаеться перегружен в моем случае и логика далеко не идеальна. подскажите плиз правильное направление.
буду очень признателен за тутор (рус/англ значения не имеет).

заранее спасибо!
__________________
help: .flash .xhtml|css