Показать сообщение отдельно
Старый 09.07.2013, 17:48
Nikem79 вне форума Посмотреть профиль Отправить личное сообщение для Nikem79 Найти все сообщения от Nikem79
  № 8  
Ответить с цитированием
Nikem79

Регистрация: Aug 2006
Сообщений: 35
[spoiler]
Цитата:
Сообщение от dark256 Посмотреть сообщение
По сути это обычный XML.
Побольше кода..... ну.. извольте:

Код AS1/AS2:
function LoadDat(){
	LD.desc.text = "Загрузка уровней"
	if ( local() ){
		urlxml = "levels.xml"
	} else {
		urlxml = _level0.appUrl+"levels.xml?hash="+random(9999999)+"&CRC="+random(9999999)
	}
 
	STAT.text += "\nLoading "+"LEVELS"
 
	var prof:XML = new XML();
	prof.ignoreWhite = true;
	prof.load(urlxml);
	ShowLoad( prof, desc )		
	prof.onLoad = function(success) {
		if (success)
		{	
			if (prof.status != 0){
				var errorMessage:String;
				switch (prof.status) 
				{
					case -2 :
						errorMessage = "A CDATA section was not properly terminated.";
						break;
					case -3 :
						errorMessage = "The XML declaration was not properly terminated.";
						break;
					case -4 :
						errorMessage = "The DOCTYPE declaration was not properly terminated.";
						break;
					case -5 :
						errorMessage = "A comment was not properly terminated.";
						break;
					case -6 :
						errorMessage = "An XML element was malformed.";
						break;
					case -7 :
						errorMessage = "Out of memory.";
						break;
					case -8 :
						errorMessage = "An attribute value was not properly terminated.";
						break;
					case -9 :
						errorMessage = "A start-tag was not matched with an end-tag.";
						break;
					case -10 :
						errorMessage = "An end-tag was encountered without a matching start-tag.";
						break;
					default :
						errorMessage = "An unknown error has occurred.";
						break;
				}
				STAT.text += "\nXML Structure Error:\n"+prof.status+" - "+errorMessage
				STAT._visible = true
			}
			else
			{
				var node = prof.firstChild
				trace("XML LOAD NODES:"+node.childNodes.length+" NodeName:"+node.nodeName)
 
				for ( var T in node.attributes){
					trace("OPTIONS."+T+"="+node.attributes[T])
					OPTIONS[T] = node.attributes[T]
				}
 
				for ( var i=0; i<node.childNodes.length; i++){
					var nodeC = node.childNodes[i]
 
					switch ( nodeC.nodeName )
					{
						case "LEVEL":
							var TR = new Object()
								TR.POINTS = new Array()
								TR.LINES = new Array()
								TR.OBJECTS = new Array()
 
							for ( var T in nodeC.attributes){ // Разобрали базовый узел тутора
								TR[T] = nodeC.attributes[T] 
								trace("       addTutor att:"+T+"="+nodeC.attributes[T])
							}
 
							//trace( "-------------"+nodeC.nodeName+" id="+ TR.id)
 
							for ( var j=0; j<nodeC.childNodes.length; j++){
								var nodeL = nodeC.childNodes[j]	
								//trace( nodeL.nodeName )
								switch( nodeL.nodeName ){
									case "point":
										var cfgObj = new Object()
										for ( var T in nodeL.attributes){ 
											cfgObj[T] = nodeL.attributes[T]
											//trace( "         "+T +"="+ nodeL.attributes[T])
										}
										TR.POINTS[Number(cfgObj.id)] = cfgObj
									break;	
									case "line":
										var cfgObj = new Object()
										for ( var T in nodeL.attributes){ 
											cfgObj[T] = nodeL.attributes[T]
											//trace( "         "+T +"="+ nodeL.attributes[T])
										}
										TR.LINES.push( cfgObj )
									break;	
									case "object":
										var cfgObj = new Object()
										for ( var T in nodeL.attributes){ 
											cfgObj[T] = nodeL.attributes[T]
											//trace( "         "+T +"="+ nodeL.attributes[T])
										}
										TR.OBJECTS.push( cfgObj )
									break;										
								}
							}
 
 
							LEVELSCFG[Number(TR.id)] = TR
 
							trace( TR.id+" -- "+TR.POINTS.length +" / "+TR.LINES.length+" / "+TR.OBJECTS.length )
 
						break;			
					}
				}
				STAT.text += "...OK"
				LD.removeMovieClip();
				LDR.removeMovieClip();				
				_root.gotoAndPlay(2)
			}				
		}
		else{
			STAT.text += "\nXML LOAD ERROR: "+urlxml
			STAT._visible = true
		}
	}
}
Добавлено через 22 минуты
К слову сказать, в общем случае вы Html не сможете прочитать, если crossdomain.xml этого не предполагает.
Локально работать будет, удаленно может перестать.
Но могу ошибаться.
Но будьте готовы.
Попробуйте сначала его просто оттуда загрузить.
Может быть и париться далее не стоит.
Хотя, о5-таки, можно вывернутсья через рнр....
[/spoiler]

Вынос мозга, я ничего не понимаю, но спасибо за помощь. Может быть что-то из этого удастся применить...


Последний раз редактировалось iNils; 09.07.2013 в 18:10.