loadMovie ist immer im Vordergrund

Flolei

Grünschnabel
Hallo Forum,

habe einen Film mit 10 Ebenen. Auf Ebene 8 ist ein leerer MovieClip (container). Mit loadMovie will ich diesen eine swf laden. Leider ist diese dann immer im Vordergrund.

PHP:
loadMovieNum("hintergrund.swf",8)
loadMovie("hintergrund.swf",container);

Beides funktioniert nicht! Warum?
Danke, Flo
 
Hi,

mit loadMovieNum lädst Du einen Clip nicht in einen Container, sondern auf eine Stufe im Player. Diese Stufen sind nicht mit den Ebenen auf der Zeitleiste gleichzusetzen (schon eher mit der Stapelreihenfolge der Objekte in einer Ebene); das ist leider zu Beginn etwas missverständlich.

loadMovie("dateiname", "zielclip") sollte eigentlich funktionieren, wenn "zielclip" der korrekte Instanzname des Containerclips ist.

Versuch es mal mit folgender Syntax:
PHP:
zielclip.loadMovie("dateiname");

Tipp: mit SwapDepths kannst Du auch nachträglich die Stapelreihenfolge von MovieClips ändern.

Gruß
.
 
Also,

vergiss loadmovieNum - das hat mit deinen Ebenen nämlich nichts zu tun, und ist auch ansonsten eher ein sehr spezielles Werkzeug für sehr spezielle Aufgaben.
Das was du als Ebenen bezeichnest ist das, was du in der Flash Referenz unter dem Begriff 'Tiefe' findest.´

Dein Code funktioniert deshalb nicht, weil loadmovieNum einen Film in die 8. Ebene lädt, während dein Film auf Ebene 0 ist, mit all seinen Tiefen Stufen. Dein Hintergrund.swf ist also immer im Vordergrund. Die Referenz hätte dir das auch verrraten.

Dein anderer Code funktioniert nicht, weil dein Pfad falsch ist. Ich hoffe, das du die Instanz des leeren Movieclips auf der Bühne auch 'container' benannt hast (im Eigenschaftsinspektor das Feld ganz links), und nicht nur den MC so genannt hast.
Wenn dem so ist, kannst du schreiben:

PHP:
_root.container.loadMovie("Hintergrund.swf");

// oder

loadMovie("Hintergrund.swf", _root.Container);

dann klappt es auch so wie du willst

P.S.: mal wieder ein DeathRace der Antworten ....
Grüsse
B
 
Das mit den Ebenen und _level habe ich wirklich nicht gewust. Das man aber instnznamen vergeben muss ist mir schon bewust. Genauso wie der Code:

PHP:
_root.container.loadMovie("hintergrund.swf");

Bin jetzt immerhin schonmal soweit, dass der Clip gar nicht mehr
angezeigt wird :rolleyes: .

Ich würde ja gerne das .fla posten, ist aber leider zu groß.
 
Hm,

kleiner Tip, mach einfach eine neue Datei packe deinen Container mit Instanznamen rein, paste den Code, speichere in das selbe Verzeichnis wie hintergrund.swf und probier es aus.
Wenn es nicht funktioniert, dann poste die kleine Datei hier, wenn doch dann hast du Denksport...

Grüsse
B


@Datic: ja diese minutenverschobenen koinzidenzen sind schon immer wieder witzig
 
Argh, hab das ausprobiert mit einem neum Clip. Da klappt das dann wie zu erwarten. Leider aber nicht in meinem "echten" Movie.

Ohh du schnöde Welt, ist es denn deine Absicht mich leiden zu sehen?

Kann ihc die Datei jemandem mailen? Hochladen geht ja leider nicht, wegen der Größe!
 
Hi,

auch wenn Die .fla zu groß ist, kannst Du sicher etwas zusammenbasteln, das sich auf das Nötigste beschränkt (oder einfach alle Grafiken/Sounds/MCs rauswerfen und Speichern&Komprimieren wählen - natürlich nachdem Du eine Kopie angelegt hast ;) ).

Zur Fehlersuche: Wird die Datei überhaupt geladen? Flash gibt in der Vorschau einen Fehler aus, wenn die Datei z.B. nicht gefunden wurde. Mit trace-Aktionen kannst Du auch viel feststellen: z.B. ob sich an den Attributen des Containers etwas ändert:
PHP:
_root.container.loadMovie("bla.swf");
_root.onEnterFrame = function() {
    trace(_root.container._width); // ändert sicher, wenn der Clip geladen wurde, es sei denn,
// Container und bla.swf sind genau gleich groß :)
}

Gruß

P.S.: Wenn Dein Container nicht auf _root liegt, wird er dort natürlich nicht gefunden... was gibt z.B. trace(_root.container._name) oder trace(container._name) aus?
.
P.P.S. @B.: Ja, aber diesmal war ich viel zu langsam - erst zwei Posts später ts ts... ^^
.
 
Ok, hier die Lösung:

Das Actionscript war Teil eines on(release) - Aufrufs. Das scheint aus irgendwelchen Gründen nicht besonders toll gewesen zu sein. Genauso wenig toll war es das AS auf den 1. Frame in der Actions-Ebene zu legen. Also Anctionscript-Befehl auf Frame 5 in der Actions-Ebene gelegt.

Und: Alles Super!

Danke für die Mühen, Flo
 
Zurück