PHP variablen an Flash

... dann zeig uns doch bitte etwas mehr Code (oder die ganze .fla) und gib uns damit die nötigen Infos.

Ein häufiger Fehler ist, dass man versucht, auf die Variablen zuzugreifen, bevor sie geladen sind:

Falsch:
Code:
var lv = new LoadVars();
lv.onLoad = function() { // Erst hier sind sie da:
    irgendwas = this.variable;
}
lv.load("script.php", "POST");

meinMC._xscale = irgendwas; // Hier ist noch nichts geladen!

Richtig:
Code:
var lv = new LoadVars();
lv.onLoad = function() {
    irgendwas = this.variable;
    meinMC._xscale = irgendwas; // Hier darfst Du!
}
lv.load("script.php", "POST");

Gruß
.
 
Ja, das ist auch mein Fehler :) Danke es hat endlich geklappt.

Ich dachte die sind schon geladen. Ich meine die stehen nach dem Ladevorgang. Wieso ist das anders?
 
Zuletzt bearbeitet:
Pass auf: Der Code auf der Zeitleiste wird prinzipiell zwar Zeile für Zeile abgearbeitet, aber Funktionen sind dazu da, erst in Aktion zu treten, wenn sie aufgerufen werden. Damit wird die ganze Angelegenheit Ereignisorientiert das heisst, dass Teile des Codes ausgeführt werden, wenn ein bestimmtes Ereignis auftritt (z.B. der Klick auf einen Button, oder - wie hier - das vollständige Laden von Daten). - dabei spielt es generell keine Rolle, ob so eine "Ereignisfunktion" weit oben oder weit unten im Code notiert ist: sie wird ja erst gebraucht, wenn das dazugehörige Ereignis eintritt.

Das ist auch gut so, denn stelle Dir einmal vor, Flash würde wirklich warten, dass alle Daten geladen sind, bevor auch nur eine Zeile des weiteren Codes ausgeführt wird: Preloader wären z.B. unmöglich, da ja gleichzeitig auf das Laden von irgendetwas gewartet wird, während weiterer Code abläuft (z.B. Ladebalken animieren). ... und was passiert, wenn der Server nicht erreichbar ist? Der Film hängt sich auf? Nein, alles was direkt unter Deiner load-Aktion steht, wird direkt ausgeführt - und irgendwann wird dann halt die onLoad-Funktion aufgerufen, um Dir mitzuteilen, dass die Daten jetzt da sind. ;)

Gruß
.
 

Neue Beiträge

Zurück