Wieso überspringt mein ActionScript eine Anweisung?
Bernd
- sonstiges
Hallo,
ich habe eine Variable aus einer PHPSESSION, die ich im Quellcode an eine swf-file film hänge, damit dieses File die Variable zur Verfügung hat. Anfangs hat die Variable den Wert 0.
Nachdem die Seite mit dem swf-file einmal aufgerufen wurde, ändert sich der Wert dieser Variable und wird in die PHPSESSION geschrieben.
Da diese Variable nun einen anderen Wert hat, um genau zu sein ist der Wert der Variable nun 1, soll im 3. Frame eine gewisse Aktion ausgeführt werden, wenn die Seite also zum 2. mal aufgerufen wird.
Mit if(variable123==1){gotoAndPlay(125)} soll dann direkt in den 125 Frame gesprungen werden.
Leider klappt dies erst wenn ich das dritte mal die Seite mit dem swf-file anwähle, obwohl schon beim 2. mal die Variable den Wert 1 hat. Soweit konnte ich das ja auch im Quelltext sehen, außerdem habe ich mir die Variable in einem dynamischen Textfeld im Flashfilm ausgeben lassen.
Woran kann das liegen? Wieso wird die Anweisung übersprungen.
Ich habe schon vermutet, das 40 Bps vielleicht zu schnell sind, warum sollte es dann aber dann ab dem 3. Seitenaufruf funktionieren?
mfg
Bernd
Hallo,
kleiner Nachtrag noch.
Mir ist aufgefallen, das es wohl auch nach dem 3. Mal nicht ständig klappt. Zwar ist es selten das nicht zu dem bestimmten Frame gesprungen wird, aber es passiert.
Kann es vielleicht sein, das das Script nur dann funktioniert, wenn der Film im Cache des Browsers ist und nichts mehr geladen werden muß?
Ist es vielleicht notwendig, das bekannt ist wieviel Frames der Film hat, bevor man soweit im Film "umherspringt"?
mfg
Bernd
moin,
eine direkte antwort kann ich dir leider auch nicht geben. habe aber die erfahrung gemacht, dass man auf gesetzte variablen nicht sofort, sondern erst im nächsten frame zugreifen kann. du solltest also auf jeden fall den kompletten film nach hinten verschieben und am anfang ein oder zwei 'ladeframes' lassen. auffallen wird das nicht.
da ich aber nicht weiss, ob es vielleicht wirklich daran liegt, dass er die übergebene variable nicht schnell genug bekommt wäre überlegenswert, die sache so umzustrukturieren, dass du aus flash heraus ein php-script aufrufst (was die gewünschte zahl ermittelt). das geht mit 'LoadAndSave' und das nette daran ist, dass es die funktion 'onLoad' gibt, die erst bei abarbeitung des angeforderten scriptes aufgerufen wird. die überschreibst du einfach und hast keine timingprobleme mehr.
zum testen könntest du noch ein dynamisches textfeld einbauen, was dir den eingabewert anzeigt?!
andi
Hallo,
die gewünschte Zahl ist ja vorhanden, ich habe sie ja auch in einem dynamischen textfeld ausgeben lassen. Das Variablen vielleicht in den ersten Frames noch nicht belegt sein könn ist glaube ich ein Ansatz.
Vielleicht erkundige ich mich mal in einem Flash-Forum.
mfg
Bernd
wenn die variable immer da ist, dann hast du wohl einen logischen fehler, oder?!
schick doch mal ein scriptschnipsel
andi