Text in Ebene 1 laden....

fastfred

Mitglied
Hallo Community,
ich habe eine Datei termine.swf, die in eine andere Flash-Datei als Ebene 1 geladen wird.
In die termine.swf soll ein Text aus einer TXT-Datei geladen werden. Nur irgendwie klappt es nicht. Ich weiß man kann das ganz einfach mit loadVariablesNum machen. Nur diesmal wollte ich das mit LoadVars(); machen.
Wenn ich die termine.swf alleine öffne, wird der Text angezeigt. Nur nicht in "Ebene 1".

Hier ist mein Code(termine.swf):
PHP:
daten = new LoadVars();

daten.onLoad = function(test) {
	if(test){
		Termine.text = daten.Termine;
	}else{
		Termine.text = "Daten konnten nicht geladen werden!";
	}
};

daten.load("saving/termine.txt");

Kann mir jemand weiterhelfen?

Gruß

Fast Fred
 
Hi,

Du kannst nichts in Ebenen laden - höchstens in Container oder Stufen.

Dann wäre das entweder:
Code:
loadMovieNum("zweiterfilm.swf, 1); // In Stufe 1 laden

// und etwas später dann:

daten = new LoadVars();

daten.onLoad = function(test) {
    if(test){
        _level1.meintext = daten.Termine; // Film in Stufe 1 zuweisen
    }else{
        level1.meintext = "Daten konnten nicht geladen werden!";
    }
};

daten.load("saving/termine.txt");
oder;
Code:
container.loadMovie("zweiterfilm.swf");

// und etwas später:

daten = new LoadVars();

daten.onLoad = function(test) {
    if(test){
        container.meintext = daten.Termine;
    }else{
        container.meintext = "Daten konnten nicht geladen werden!";
    }
};

daten.load("saving/termine.txt");
Du musst dabei auch beachten, dass der Film komplett geladen sein muss, bevor Du ihm Daten aus dem LoadVars-Objekt übergeben willst: Wird LoadVars.onLoad aufgerufen, bevor Dein Unterfilm komplett im Speicher ist, überschreibt er sein Ziel und die Variable ist wieder undefiniert.

Ausserdem ist "text" eine reservierte Eigenschaft und sollte nicht als Bezeichner für irgendwas anderes verwendet werden.

Gruß
.
 
Hi,
ich habe den Namen des Textfeldes nicht in "Var:" sondern in das Instanzname-Feld eingegeben. Deswegen hatte ich auch immer meintext.text = blabla;.
Mit _level1 funktionierts irgendwie nicht.

Muss mich auch für oben verbessern->mit Ebene war STUFE gemeint ;-).

Ich weiß nicht wie ich das sonst machen kann?!

Gruß

Fast Fred
 
Hi,

wenn "Termine" der Instanzname des Textfeldes ist, fehlt aber der Pfad zum nachgeladenen Film (entweder wie gesagt eine Stufe oder ein Container). In welche Stufe lädst Du den Film denn? Wartest Du auch wirklich auf das Laden des Unterfilmes, bevor Du den Text einlädst?

Poste ansonsten bitte mal Deine Datei, ich bin sicher, der Fehler lässt sich dann schnell einkreisen. ;)

Gruß
.
 
Hi,
die Stufe ist 1! Wird auch auch geladen durch loadMovieNum("terminemovie_txt.swf", 1);!
Ich habe in allen Dateien auch nen Preloader. Das funktioniert ja auch alles, wenn ich die Datei "alleine" öffne mit dem Code:
PHP:
daten = new LoadVars();

daten.onLoad = function(test) {
    if(test){
        terminetxt.text = daten.Termine; // Film in Stufe 1 zuweisen
    }else{
        terminetxt.text = "Daten konnten nicht geladen werden!";
    }
};

daten.load("saving/termine.txt");

Funktioniert auch!
Nur bei _level1 nicht!

Das ganze kannst du unter http://www.andrefossen.de/flash/neu.htm sehen. Einfach auf TERMINE klicken!

Gruß

Fast Fred
 
Zuletzt bearbeitet:
Hi,

dass der andere Film vorgeladen hat, sagt erstmal nicht viel aus: Der von Dir gepostete Code macht den Eindruck, als würde er ebenfalls sofort ausgeführt, und nicht etwa bei Beendigung des Preloaders. Zudem ist auch in dem von Dir zuletzt geposteten Code keine Adressierung des Unterfilmes ersichtlich.

Dass es bei Dir nicht funktioniert, glaube ich Dir - von daher ist die swf nicht nützlich für mich. Ich hätte gerne einen Blick in die .fla geworfen. ;)

Warum überhaupt den Text an den Unterfilm übergeben? Dieser kann doch auch problemlos auf Variablen zugreifen, die sich in Objekten des Hauptfilmes befinden:
Code:
daten = new LoadVars();

daten.onLoad = function(test) {
    if(test){
        _root.inhalt = daten.Termine; // Film in Stufe 1 zuweisen
    }else{
        _root.inhalt = "Daten konnten nicht geladen werden!";
    }
};

daten.load("saving/termine.txt");
... und dann im Unterfilm:
Code:
termine_textfeld.text = _root.inhalt;
Damit ersparst Du Dir zumindest das Warten auf den Ladevorgang, da Code im Unterfilm erst ausgeführt wird, wenn er komplett geladen ist.

Gruß
.
 
JAAAAAAAAAAAAAAAAAAA :-)!

Es funktioniert! Danke für den Tip, den Text schon im Hauptfilm zu laden;-)!

Vielen, vielen Danke nochmal:D !

Gruß

Fast Fred
 
Zurück