Externe swf Datei laden und position bestimmen

Hab nur noch eine Frage, da ich was exterene swf's angeht noch überhaupt keine ahnung habe:

Ich möchte, dass meine "home.swf" gleich zu Anfang automatisch geladen wird (ohne das der User auf den Home-Button klicken muss).

Am allerbesten wäre es, wenn diese "home.swf" auch noch vorab geladen wird, also quasi in Szene 1 (meinem Preloader für alle weiteren Szenen), damit diese dann in szene 3 (mit den Fuktionen für das Laden der externen swf's) sofort erscheint.

das wäre super, wenn ihr mir dazu tipps geben könntet - ich werde mich jetzt erstmal in Sachen AS1 & 2 weiterbilden...

Ich habe meine fertige .fla zum besseren verständnis mal mit angefügt (ist ein bisschen groß) das ganze wird in der Endphase noch verkleinert...
 

Anhänge

  • 25945attachment.zip
    199,3 KB · Aufrufe: 114
Hi,

zu #1: Rufe die Funktion "setContent" einfach einmal auf, indem Du in der letzten Zeile des Scriptes (in der eigentlichen Hauptszene, natürlich) folgendes einfügst:
Code:
setContent("button1");

zu #2: Wenn dieser Content "mitgecached" werden soll, müsstest Du eine völlig andere Preloaderstruktur verwenden (siehe z.B. meine Multiloader-Reihe) - Szenen sollte man sowieso nicht dazu missbrauchen. Du würdest Quasi vor den eigentlichen Film (die "test_komplett.swf") eine reine Preloader.swf schalten, die beide Filme (Hauptfilm und ersten Content) vorlädt und dann zur Hauptseite wechselt.

Gruß
.
 
Hallo nochmal!

Also das mit dem automatischen abspielen der "home.swf" klappt ja wunderbar...

nur noch eine Frage zu deinem Multiloader (v4):

Wenn der jetzt alle von mir vorgegebenen swf's geladen hat, wie bekomme ich ihn dann noch dazu, die nächste swf (die haupt-swf) abzuspielen?

In der Vorschau läuft nur der Multiloader (dieser lädt auch anständig) nur dann ist schicht. Ich habe dem AS des Preloaders noch die Zeile

Code:
setContent("test_komplett.swf");

hinzugefügt. Dennoch passiert nichts,
 
Hi,

Du kannst nach dem Laden Deinen Hauptfilm einfach per loadMovieNum in Stufe 0 laden - alles, was der Multiloader vorher geladen hat, sollte sich dann sowieso im Cache befinden.

"setContent" ist doch keine Funktion des Multiloaders, sondern eine Methode, die nur für das Menü erstellt wurde ... ;)

Gruß
.
 
Nochmal Hallo!

Funktioniert jetzt anständig! Danke nochmal!

Nur noch eine knifflige Frage... vielleicht ist das auch gar nicht möglich, aber ich frage mal trotzdem:

Folgende Problematik:

Mein Container wird, aus stylistischen Gründen, da er sich nicht in der höchsten Ebene befindet, von 2 Movieclips überlagert (Menü, Musicplayer)

Die geladene swf wird dem zufolge auch von diesen Movieclips überlagert. Das soll ja auch so sein, sonst würde ich den Container einfach auf die höchste Ebene ziehen, aber:

jetzt möchte ich, dass nur ein bestimmter MovieClip, der sich in der externen swf befindet,
auch beim abspielen über allen anderen MovieClips liegt, also auch über denen der main.fla mit dem Container.

Ist das mit 'getDepth()' und '_root' auch bei externen swf's möglich? ;-]
 
Hallo!

Ist das mit 'getDepth()' und '_root' auch bei externen swf's möglich?
Klar, das ist möglich. Du lädtst ja eine externe swf immer in einen MovieClip-Container / eine Zeitleiste und wenn du der einen Instanznamen gibst, kannst du dann alle MovieClips des geladenen swf-Files über diese Referenz ansprechen.

Beispiel:
Du hast einen leeren MovieClip "container", in den du nun das externe File "content.swf" einladen willst. In "content.swf" befinden sich zwei MovieClips "animation_1" und "animation_2". Nun möchtest du die Tiefenebene davon "animation_2" auf 99 ändern, nachdem "content.swf" geladen wurde:

Code:
container.loadMovie ("content.swf", 1);
container.animation_2.swapDepths (99);

gruss
 
Na ja - damit wäre der MC "animation_2" zwar das "höchste" Objekt im eingeladenen Film, würde aber keine Objekte verdecken, die sich schon im Hauptfilm befinden (das war es m.E. ,was der Fragesteller meinte).

Die Lösung wäre, Objekte, die alles andere verdecken sollen, per attachMovie auf _root zu setzen, und dann ggf. mit swapDepths zu arbeiten.

Gruß
.
 

Neue Beiträge

Zurück