Timing Problem beim Skriptdurchlauf

Denniz

Erfahrenes Mitglied
Hi Leute,

Ich habe einen Film mit einer main swf sowie einigen weiteren swf files die dann bei Bedarf per loadMovie in den container_mc der main swf reingeladen werden.
Der container_mc wird dynamisch erzeugt(createEmptyMovieClip.blabla).
Ich will die komplette syntax im ersten keyframe der main swf setzten so das von dort aus alles gesteuert wird.

Jetzt habe ich folgendes Problem dabei:

In einer meiner swf's (1.swf) gibt es einen button mc (btn) auf dem ein ganz normaler event handler liegt.
Code:
btn.onPress=function(){ blabla}
Bislang ist dieses Skript im root meiner 1.swf abgelegt und klappt von dort aus wunderbar.
Wenn ich es dagegen im root meiner main.swf lege muß ich ja den Pfad anpassen also müßte es dann ja so heißen:
Code:
container_mc.btn.onPress=function(){blabla}

Beim Starten der main.swf wird also der container erzeugt und die 1.swf in den container geladen. Allerdings funktioniert der btn event handler nicht. Beim rollover über den btn wird mir nicht der handcursor angezeigt. Scheint mit ein timing problem beim Skriptdurchlauf zu sein da der container_mc ja erst erzeugt werden muß.

Gibt es eine Möglichkeit das ich den btn eventhandler irgendwie in die main swf setzten kann oder muß dieser in der 1.swf stehen?
Hoffe ihr versteht was ich meine. Jemand eine Idee?

Beste Grüße
 
Zuletzt bearbeitet:
Hi,

jupp, es liegt daran, dass die externe Datei erst geladen ist, wenn die Zeile mit dem onPress-Handler schon abgearbeitet ist.

Du erstellst also den Container, legst dafür den onPress-Handler fest, und irgendwann (ein wenig später) ist die Datei dann komplett geladen und überschreibt damit den Container (und natürlich auch sämtliche Member, wozu auch Dein Handler gehört). Wenn ich mich recht entsinne, hatten wir genau das selbe Problem vor einiger Zeit schon mal hier im Forum behandelt.

Du musst also einen Preloader für die externen Dateien erstellen, und erst wenn die Daten komplett geladen sind, die Maushandler festlegen.

Gruß
.
 
Ich starte die initalisierung für die Handler jetzt nach dem Preload der swf. So klappt's prima. :)
Thx
 
Zurück