XML Problem in Anzeige

Ensign

Mitglied
Greetings an alle mir hoffentlich helfenden Tutorials.de-Flasher!

Ich hab ein kleines XML Problem in Flash. Ich habe eine XML-Datei in der ich zwei ChildNodes (erstes ist Links, zweites News). Leider werden in der Ausgabe nur alle Links angezeigt, wenn ich das gesamte News-ChildNode rauslösche. Wenn es drinnen ist, dann fehlen die ersten zwei Link. Ich weiß nicht wieso das sein könnte.... Hier einmal das XML-Script:

HTML:
<?xml version="1.0" encoding="iso-8859-1" ?>
<root>
<inhaltroot>
<inhalt id="inhalt_0" url="http://www.webplexx.net">Webplexx.net</inhalt>
<inhalt id="inhalt_1" url="http://www.brigitte-schoendorfer.com">Brigitte Schöndorfer</inhalt>
<inhalt id="inhalt_2" url="http://www.sdworkshop.com">SDWorkshops</inhalt>
<inhalt id="inhalt_3" url="http://www.arttemptation.com">art temptation</inhalt>
<inhalt id="inhalt_4" url="http://www.google.at">Gooooogle</inhalt>
<inhalt id="inhalt_5" url="http://www.peace.at">PEACE</inhalt>
</inhaltroot>
<newsroot>
<news id="news_0" title="Neuigkeiten">Das ist ein <i>ZIEMLICH</i> langer Text! Das ist ein <i>ZIEMLICH</i> langer Text! Das ist ein <i>ZIEMLICH</i> langer Text! Das ist ein <i>ZIEMLICH</i> langer Text! Das ist ein <i>ZIEMLICH</i> langer Text! Das ist ein <i>ZIEMLICH</i> langer Text! Das ist ein <i>ZIEMLICH</i> langer Text! Das ist ein <i>ZIEMLICH</i> langer Text! Das ist ein <i>ZIEMLICH</i> langer Text! Das ist ein <i>ZIEMLICH</i> langer Text! Das ist ein <i>ZIEMLICH</i> langer Text! Das ist ein <i>ZIEMLICH</i> langer Text! Das ist ein <i>ZIEMLICH</i> langer Text! </news>
<news id="news_1" title="Kurze News">SDWorkshop. Ende.</news>
</newsroot>
</root>

Und der ActionScript:
PHP:
 _global.theXML = new XML();
theXML.ignoreWhite = true;
System.useCodepage = true;
theXML.load('dasXML.xml');
theXML.onLoad = function() {
anzahl_inhalt = theXML.childNodes[0].childNodes[0].childNodes.length;
anzahl_news = theXML.childNodes[0].childNodes[1].childNodes.length;
for (i=0; i<anzahl_inhalt; i++) {
attachMovie('navi', 'inhalt_'+i, (i+1));
		_root["inhalt_" + i]._y = i * 50; 
		_root["inhalt_" + i]._alpha = 50; 
		_root["inhalt_" + i].onRollOver = function () 
		{ 
			trace (this._name); 
			_root[this._name].onEnterFrame = function () 
			{ 
				_root[this._name]._alpha += 10;
				if (_root[this._name]._alpha >= 100) 
				{ 
					delete _root[this._name].onEnterFrame; 
				} 
			}; 
		}; 
		_root["inhalt_" + i].onRollOut = function () 
		{ 
			delete _root[this._name].onEnterFrame; 
			_root[this._name]._alpha = 50;
		}; 
}
for(j=0; j<anzahl_news; j++) {
attachMovie('newslink', 'news_'+j, (j+1));
_root["news_"+j]._y = j*20;
_root["news_"+j]._x = 180;
}
};

Hab das File auch attacht, falls das Script den Fehler nicht schon offen legt!

Vielen Dank für eure Hilfe!

Ensign
 

Anhänge

  • Flash mit XML-Problem.zip
    5 KB · Aufrufe: 23
Hi,

hehe - ich habe mich zuerst auch totgesucht, dabei ist die Lösung ganz simpel:

Hier instanzierst Du die 6 InhaltsClips:
PHP:
attachMovie('navi', 'inhalt_'+i, (i+1));
und zwar auf den Stufen 1 - 6.

Und hier instanzierst Du die NewsClips auf den Stufen 1 und 2, womit du die ersten beiden InhaltsClips überschreibst:
PHP:
attachMovie('newslink', 'news_'+j, (j+1));
Lösung: Addiere die Anzahl der Inhalte zur Stufe der News:
PHP:
attachMovie('newslink', 'news_'+j, (anzahl_inhalt+j+2));

Gruß

.
 
Super! Vielen Dank für deine Mühe und das Totsuchen :) Ja, ja, ich bineinfach noch sehr neu im Flash Actionscript-Bereich... Nun kann ich aber freudig weiterarbeiten!

Noch einmal Dankeschön!

Ensign
 
Zurück