aus textfile eingelesene var im if skript

doribell

Mitglied
hallo,

Ich habe ein problem damit, eine Variabel die ich aus einem Textfile einlese in einem if skript (Flash) zu benutzen.

inhalt des Textfile:
Code:
&prozent=20

einlesen in Flash:
Code:
loadVariablesNum("pro.txt", 0);

if Skript:
Code:
if ( _root.prozent == 20) { gotoAndPlay(20); }

Ich schreibe den inhalt des Textfiles aus einer php (die Variabel ist in dem Fall eine prozent Anzahl eines laufenden Rennens eines Browsergames). Das if Skript soll dann Frame 20 aufrufen und ab dort laufen lassen.

Das auslesen klappt wunderbar, kann die Variabel in einem dynamischen Text anzeigen lassen.

Habt ihr evtl bessere Ideen, das zu verwirklichen oder könnt ihr mir sagen wo der fehler liegt?

Könnte man bei einer gotoAndPlay Funktion statt einer zahl irgendwie eine var angeben?
 
Ich hab es Geschaft!

vorher:
Code:
if (prozent == "20") { gotoAndPlay(20); }

nachher:
Code:
if (prozent ne "20") { gotoAndPlay(20); }
 
Kann man, z.B.
PHP:
gotoAndPlay(variablenname);
bzw. falls der Wert als String vorliegt
PHP:
gotoAndPlay(Number(variablenname));
Was bei dir der Haken sein könnte ist, dass die Variable zu dem Zeitpunkt, zu dem die if-Abfrage durchlaufen ist, noch gar nicht (vollständig) geladen ist. Kurz drauf ist sie dann da, steht deshalb auch im Textfeld.
Die Verzögerung siehst du (zumindest offline) kaum ... für einen Computer sind's aber Welten. ;)
Noch extremer wird es natürlich online.

Elegant lösen läßt sich das mit dem loadVars-Objekt anstelle von loadVariables, das dann eine integrierte Prüffunktion beinhaltet. Siehe dazu loadVars in der Actionscriptreferenz. Vorausgesetzt du arbeitest mit FlashMX oder höher ... hast ja nicht dazu geschrieben.

Ansonsten müßtest du z.B. in einer Schleife prüfen, ob die Variablen aus der txt-Datei schon geladen sind und erst dann prüfen und springen.

Gruß
Rena

Nachtrag zu deinem zweiten Posting:
"ne" ist veraltet (aus Flash4-Zeiten) und bedeutet "ist _nicht_ gleich" ... ist wahrscheinlich nicht das, was du willst, oder? ;)
 
Zuletzt bearbeitet:
Zurück