Anfänger: Inhalt externer Seite in Hauptseite automatisch einladen

rakader

Grünschnabel
Hallo zusammen und einen angenehmen zweiten Weihnachtstag!

Ich habe folgendes Problem mit ausgelagerten Unterseiten, mit dem ich seit nunmehr drei Monaten nicht weiterkomme:

Wie lade ich eine ausgelagerte, externe Seite automatisch in den Hauptfilm?

In die Hauptseite menue1.swf (Logo, Hintergrund) soll bei Start das endgültige (ersetzbare) Layout dieser Startseite aus menue2.swf automatisch (ohne Klick, Schaltfläche) eingeladen werden. Dieses funktioniert nicht.
Für das Einladen wurde ein 1-Pixelbild auf einer eigenen Zeitleiste angelegt, die "textbox" heißt. Mittels loadMovie und Pfadangabe _root.textbox sowie ausgelagert/menue2.swf sollte der Inhalt von menue2.swf nun eigentlich in menue1.swf eingeladen werden können.

Seltsamerweise funktioniert dieses Vorgehen bei allen Seiten, die durch die Schaltflächen angesteuert per on release werden. Nicht aber bei menue2.swf, das automatisch nach dem letzten Frame von menue1.swf geladen werden sollte.

Mein Vorgehen fußt dabei auf diesem Gedanken: Der Inhalt der Hauptseite ist unveränderlich und wird nur durch die nachgeladenen externen Seiten verändert.


Ein zweites Problem gibt es mit dem Preloader der Unterseiten. Werden diese geladen, wird die Balkenanzeige ausgelassen und der Film geht zum Stop des ersten Bildes.
Der Code für den Preloader ist:
PHP:
zuladen = _root.getBytesTotal();
geladen = _root.getBytesLoaded();
prozent = int((geladen/zuladen)*100);
ifFrameLoaded ("unterkunft", 50) {
    gotoAndPlay ("unterkunft", 43);
}

Leider funktionieren auch Variationen mit _parent und this nicht.

Es wäre schön, wenn für diese zwei Probleme jemand eine Lösung parat hätte.

Herzliche Grüße und Dank vorab,

rakader
 
Das Problem mit dem Preloader liegt definitiv am Pfad.
Die einfachste Möglichkeit ist die, in jeden zu ladenden mc einen eigenen Preloader einzubauen. Jeweils in die Hauptzeitleiste des Films.
Arbeite dann allerdings nicht mit _root (da dieser Pfad immer auf den Hauptfilm verweist), sonder mit this (solange sich der Preloader in der Timeline des zu ladenden Films befindet).
Zweite Möglichkeit ist es mit einem Container zu arbeiten (Code im Main mc):
PHP:
this.createEmptyMovieClip("container", 100);
this.container.loadMovie("deineswf.swf", "");
newpercent = Math.round(container.getBytesLoaded()*100/container.getBytesTotal());
loaderbar._scale = newpercent;
 
Tja, magoo, tut mir ja Leid, aber das is falsch.

Er sagte bereits, dass er einen Container verwendet. Zwar eine komische Art eines Containers (1-Pixel-Bild... naja, so hab ichs auch gemacht bevor ich wusste wie man Container mit AS erstellt).

Sein Problem liegt darin, dass das ganze nur dann Funktioniert, wenn ein Button gedrückt wird - und nicht in einem bestimmten Schlüsselbild.

Am besten postest du mal die *.fla oder den AS, wo die swf-Datei eingeladen wird.

Zum Preloaderproblem:
1. Wie ist der Preloader aufgebaut bzw. was steht im zweiten Frame?
2. Wo soll der Balken denn bewegt bzw. skaliert werden? Ich seh da nix entsprechendes....

Frohe Weihnachten,
Jens
 
Hast Recht ll, da hab ich den Post zu schnell gelesen.
Wenn die Instanz "textbox" auf der Bühne ist, und auch mit diesem Instanznamen deklariert ist sollte der Befehl
PHP:
this.textbox.loadMovie("menue2.swf", "");
reichen um dein 1-Pixelbild durch die swf zu ersetzen.

Zum Preloader:
Auch hier hat ll Recht :). Ich ging allerdings schon davon aus dass in deinem 2. Frame eine if-Abfrage erfolgt, die prüft ob getBytesLoaded schon getBytesTotal entspricht.
Falls dies nicht der Fall ist musst Du mit prevFrame(); zurückspringen.
 
Wer/was ist ll? LL oder ii ?
Wenn du damit LL = LoeffelLutscher meinst, sag doch einfach loeffel, aber ll irritiert mich :)

Und durch die Zeile AS wirds nicht ersetzt, sondern es wird die swf dazu geladen....
 
Hallo magoo, hallo loeffellutscher!

Vorab besten Dank für Eure Hilfe.

loeffellutscher hat gesagt.:
Sein Problem liegt darin, dass das ganze nur dann Funktioniert, wenn ein Button gedrückt wird - und nicht in einem bestimmten Schlüsselbild.

Seit einigen Stunden funktioniert es mit dem automatischen Nachladen. Was habe ich gemacht? In der Timeline aktionen war und ist ein Stop gesetzt. Zusätzlich setzte ich in die Timeline mit dem 1 Pixelbild auf den letzten Frame die loadMovie-Aktion und zwar folgend:
PHP:
_root.textbox.loadMovie("ausgelagert/menue2.swf")

Warum in dieser Timeline ist mir zwar rätselhaft - aber es funktioniert hervorragend: menue2.swf wird eingeladen, von da kann ich zu den Unterseiten springen und wieder zu menue2.swf zurück.

Beim 1Pixelbild hat mir ein netter Programmierer geholfen - und ich denke, daß es doch ein Container ist; denn im Bild textbox ist ein weiterer mc drin namens platzhalter.

loeffellutscher hat gesagt.:
Zum Preloaderproblem:
1. Wie ist der Preloader aufgebaut bzw. was steht im zweiten Frame?
2. Wo soll der Balken denn bewegt bzw. skaliert werden? Ich seh da nix entsprechendes....

Da sitze ich noch dran. Ich hatte zuerst eine eigene Seite, die den Preloader zentral steuerte, doch das erwies sich trotz gutem Tutorial (Partylogger) für mich als zu schwieirg. In dieser Seite preloader war der Container. Ich versuche das jetzt nochmals nachzuvollziehen, käme aber gerne auf Euer Angebot zurück, die fla mal zu posten. Erfahrene Augen sehen einfach mehr.

Euch allen jedenfalls schon jetzt herzlichen Dank, und auch wenn Weihnachten schon vorbei ist, vielleicht gibt es für Euch ja einen dritten Weihnachtstag.

Herzliche Grüße
rakader
 
Zuletzt bearbeitet:
loeffellutscher hat gesagt.:
Ja. und wieso postest du die fla nich?

...das versuche ich schon die ganze Zeit, klappt nicht wegen Größenbeschränkung - und ich hab jetzt wirklich alles rausgenommen... Mach'ne Kopie und versuch's dann erneut - in wenigen Minuten

Hallo Loeffelutscher - da ist sie, stark abgespeckt. Keine Ahnung, warum die so fett war, selbst als ich alles rausgenommen hatte. Flash5/mac.

Dank vorab!

rakader
 

Anhänge

  • unterkunft.fla.zip
    2,3 KB · Aufrufe: 18
Zuletzt bearbeitet:
Ok, dazu auch einige Fragen:

1. In Frame 1 und 42 willst du per AS zu "Unterkunft" springen - was/wo ist das
2. Preloader: soll der immer genau 35 Frames lang sein Naja, wenn du den Film voll packst, kann es sein, dass der Balken voll und die Przentanzeige auf z.B. 50% steht...
3. Was hast den denn genau rausgenommen?

Posting 24/7 :) ,
Jens
 
loeffellutscher hat gesagt.:
Und durch die Zeile AS wirds nicht ersetzt, sondern es wird die swf dazu geladen....
Ich bin mir ziemlich sicher dass der 1-Pixel-Punkt nach dem Laden nicht mehr vorhanden ist :D
Was bleibt sind natürlich die Eigenschaften (Alpha, Position, etc..).
 

Neue Beiträge

Zurück