Zurück   Flashforum > Flash > ActionScript > ActionScript 1

Antwort
 
LinkBack Themen-Optionen Ansicht
Alt 03-11-2004, 00:42   #1 (permalink)
Nord-Workoholic
 
Benutzerbild von TinKim
 
Registriert seit: Mar 2004
Ort: Kiel
Beiträge: 937
Question Problem mit XML

Hallo,

ich habe ein Problem mit XML, und ich komme nicht dahinter, was falsch ist.
Der Ablauf einer frei verzweigbaren Handlung eines movies wird per XML beschrieben. Der root-Movie stellt Funktionen zur Steuerung Movies mit dem Inhalt bereit. Zum Testen habe ich darin auf höchster Ebene ein dynamisches Textfeld mit Variable "debuggerout" gelegt.

Der Film soll mit dem Movie start.swf beginnen, das steht in der start.xml, die beim Start des Flashfilms aufgerufen wird. Später sollen über die gleichen Funktionen andere Movies in andere Clips geladen werden können, aber soweit bin ich noch nicht.

Meine Start-XML-Datei (start.xml) sieht so aus und liegt relativ zur index.html im Ordner xml:
Code:
<?xml version="1.0" encoding="iso-8859-1" ?>
<start file="start.swf" target="turn_h.xml">
	<!-- nothing required here in this case -->
</start>
Mein Actionscript im 1. Frame sieht so aus:

PHP-Code:
/*     root.fla/root.swf
    This is the basic framework.
*/

/*    Initialize xml environment: --->
------------------------------------------------- */

//    Required for language specific characters in xml files.
System.useCodepage true;

//    Create xml object.
xmlObj = new XML();

//    Set path constants, relative to index.html.
xmlPath "xml/";

//    Initialize root objects.
mc_loader._visible false;
mc_loader._xscale 0;

//    Start Movie.
switchMode(xmlPath "start.xml");

// <--- -----------------------------------------

/*    Framework control functions: --->
------------------------------------------------- */

/*    The following modes are available for the currentMode variable.
    These modes are saved in the xml files as firstchild-name, describing the tour.
- "start" = Start screen and first way.
- "turn" = Panorama view with turn functions.
- "way" = A way between turns.
*/

//    Load requested xml file, the file will determine the following movie.
function switchMode(xmlFileIn) {
    
_root.xmlObj.load(xmlFileIn);
}

// Determine the following
xmlObj.onLoad = function(status) {
    if (
status && this.loaded) {
        
// The start movie.
        
if (this.firstChild.nodeName == "start") {
            
// hier soll meine Programmierung fortgesetzt werden,
            // komme aber hier nicht hin... warum?
            
debuggerout "start movie";
        }
        
// A turn.
        
else if (this.firstChild.nodeName == "turn") {
            
debuggerout "a turn";
        }
        
// Anything else must be a way.
        
else {
            
debuggerout "a way";
        }
    }
    else {
        
debuggerout "datei scheint nicht da zu sein";
    }
}

// <--- ----------------------------------------- 
Das Ganze soll also so ablaufen:
Wenn durch einen Movie eine neue XML-Datei angefordert wird, soll, wenn die XML-Datei fertig geladen wurde, der Inhalt ausgewertet werden und eine neue .swf geladen werden, die halt in der XML-Datei steht. Darin stehen dann je nach Filmelement ggf. weitere Informationen zur weiteren möglichen Verzweigung des Films. Nun scheitere ich schon beim Start, denn bei der if-Abfrage in der onLoad-Function bekomme ich trotz des Inhalts in der start.xml (siehe oben) immer den letzten else-Fall (debuggerout = "a way";).

this.firstChild.nodeName gibt mir immer null zurück, und ich verstehe nicht, warum das so ist. Habe es auch mit "gefüllten" XML-Dateien versucht, kommt auch nur null bei raus.

Wo ist der Fehler?

Danke und beste Grüße,

Kim
TinKim ist offline   Mit Zitat antworten
Alt 03-11-2004, 00:53   #2 (permalink)
helpQLODhelp
 
Benutzerbild von bokel
 
Registriert seit: Feb 2002
Ort: Köln
Beiträge: 8.505
Probier einfach mal trace( this.firstChild) innerhalb von onLoad, dann wirst du wahrscheinlich sehen, dass der Knoten nicht der ist, den du erwartest.

mfg r.
bokel ist offline   Mit Zitat antworten
Alt 03-11-2004, 06:44   #3 (permalink)
Nord-Workoholic
 
Benutzerbild von TinKim
 
Registriert seit: Mar 2004
Ort: Kiel
Beiträge: 937
Danke @ bokel.
Wie gesagt, die childNode lieferte null. Daran lag das Problem nicht.

Ich hab den Fehler gefunden (eine Nacht schlafen, kann sooo hilfreich sein, dafür bin ich jetzt saumüde...).

Man darf nur nicht
Code:
xmlObj.ignoreWhite = true;
vergessen...

Ich könnt schreiend gegen ne Wand laufen, ich Idiot! War mir mal wieder klar, dass es ne Kleinigkeit war. Typisch für mich.

Jetzt geht alles bestens...

Ich mach mir erstmal Frühstück. Glücklicherweise hab ich erst heut Nachmittag Vorlesungen...
TinKim ist offline   Mit Zitat antworten
Antwort

Lesezeichen

Themen-Optionen
Ansicht

Forumregeln
Es ist Ihnen nicht erlaubt, neue Themen zu verfassen.
Es ist Ihnen nicht erlaubt, auf Beiträge zu antworten.
Es ist Ihnen nicht erlaubt, Anhänge hochzuladen.
Es ist Ihnen nicht erlaubt, Ihre Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks sind an
Pingbacks sind an
Refbacks sind an



Alle Zeitangaben in WEZ +1. Es ist jetzt 02:32 Uhr.

Domains, Webhosting & Vserver von Host Europe
Unterstützt das Flashforum!
Adobe User Group


Copyright ©1999 – 2012 Marc Thiele