[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]
Вынос мозга, я ничего не понимаю, но спасибо за помощь. Может быть что-то из этого удастся применить...