Mehrere Preloader Probleme...

Dustin84

Erfahrenes Mitglied
Hallo,

ich mache grad meine Flashsite, habe aber Probleme mit diversen Dingen.

Die Flashsite wird später in eine HTML Seite einefügt und daher wird es 2 HTML Sites geben.

Und zwar...

1. Einfach nur eine Seite mit Preloader für die Hauptseite UND des Teilfilms "news", welcher auf der Hauptseite reingeladen wird. Wäre ja blöd, wenn der Preloader auf der Startseite nur den Hauptfilm ohne Content läd.

Wie muss ich meinen Preloader auf der Startseite verändern, damit er den Hauptfilm UND den Teilfilm "news" in den Hauptfilm mit rein läd ? Und der Preloader soll automatisch das Laden anfangen, also ohne dass ich erst wo klicken muss.

news.onPress = function() {
ladeziel.loadMovie("news.swf");
ladestatus();
};
//-------------------------------------------------

//--- Ladeanzeige unsichtbar machen ---------------
loader._visible = false;
//-------------------------------------------------

//--- Ladefunktion --------------------------------
ladestatus = function () {
// Einen onEnterFrame-Event erstellen, so dass nun
// der Ladezustand kontinuierlich abgefragt und
// angezeigt wird
loader.onEnterFrame = function() {
// Geladene und zu ladenede Bytetes abfragen
geladen = _root.ladeziel.getBytesLoaded();
zuladen = _root.ladeziel.getBytesTotal();
// Sicherheitsabfrage, da ein leerer MC so ungefähr
// 4 bis 5 Bytes hat und zu Verfälschungen führen könnte
if (geladen>=10) {
// Ladeanzeige sichtbar machen
loader._visible = true;
// Berechnung der bereits geladenen Prozent
prozent = Math.round(geladen/zuladen*100);
// Ausgabe im dynamischen Textfeld "prozentanzeige"
this.prozentanzeige.text = prozent+" %";
// Skalierung des Balkens anhand der Prozentzahl
this.balken._xscale = prozent;
// Wenn komplett geladen
if (prozent>=100) {
// den EnterFrame-Event löschen um Performance zu sparen
delete this.onEnterFrame;
// die Ladeanzeige wieder unsichtbar machen
this._visible = false;
}
}
};
};



2. Seite mit dem Hauptfilm, wo die einzelnen Sektionen (zB "Works) reingeladen werden.

Kurz gesgat: Ich brauche einen Preloader, der den Hauptfilm und einen Teilfilm auf einmal läd. Und die HTML Seite auch noch, da die Flashsite ja in eine HTML Seite eingebunden wird.


OK, kommen wir zum 2 Problem:

Mein Preloader für meine Bildergallery wird nicht angezeigt, zumindest nicht, wenn ich die komplette Flashsite teste.
Hier mal ein Aufbau:

Hauptfilm.swf --> Läd "media_pictures.swf" --> Läd "70erJahreParty.swf"

Starte ich nur die "media_pictures.swf", geht der Preloader. Starte ich alles, geht er nicht.
Zudem soll beim Aufrufen der Galleryübersicht (media_pictures.swf) auch gleich die 1 Gallery (70erJahreParty.swf) mitgeladen werden.

Ok, nun das kleineste und letzte Problem:

In der Gallery "70erJahreParty.swf" sieht man unten 2 Schaltflächen (Last und Next).
Beim klicken soll einfach in der Ebene "Partybilder" ein Frame vor bzw. zurück gespielt werden.

Hier noch ein paar Files:
http://www.moneyceleb.com/Flashsiterar.rar

Hoffe, ihr versteht alles und könnt mir helfen.
 
Hi,

1. Ein "Umbau" wird da nichts bringen - Du brauchst einen Preloader für mehrere Dateien. Such mal im Forum nach "Multiloader" oder lade Dir von meiner Seite die aktuelle Version herunter. ;)

2. (Schaltflächenproblem) Du kannst keine Ebenen getrennt voneinander steuern. Auf Zeitleisten kannst Du allerdings mit den Aktionen "prevFrame" bzw. "nextFrame" einen Frame zurück- bzw. vorspringen.

Gruß
.
 
Hi,

Du hast ein paar Fehler gemacht:
  • Auf der Bühne hast Du sowohl dem Multiloader als auch Deiner Tafel den Instanznamen "loader" gegeben: Das geht natürlich nicht, zwei Objekte können nicht den selben Instanznamen haben.

  • Die Tafel (Instanz von "loader") kommt auch nicht auf die Bühne, sondern wird vom Multiloader automatisch per attachMovie instanziert. Dazu musst Du Deinen MC "loader" zum Export für AS freigeben (wenn Du nicht weißt, was das ist, such mal nach "Export", "Exportfreigabe" oder "attachMovie")..

  • Nun musst Du Deiner Ladeanzeige noch eine kleine Funktion "setPerc" mitgeben, die den Prozentwert übergeben bekommt und diesen im Textfeld anzeigt (siehe Anhang).

  • Um nach dem Laden zu Deiner Hauptseite weiterzuleiten, musst Du eine getURL-Aktion im MC "multiloader" an folgender Stelle einfügen:
Code:
		// Hier Weiterleitung einfügen!
		trace("ALL LOADED");
Das könnte dann z.B. so aussehen:
Code:
		// Hier Weiterleitung einfügen!
		getURL("startseite.htm", "_self");

Noch etwas: Es macht wenig Sinn, einen Preloader zu bauen, der selbst über 250kb groß ist - größer als die home.swf. Statt das Laden zu beschleunigen bzw. interessanter zu gestalten, verlängerst Du es damit nicht unerheblich. Tipp: Probier mal, die Tafel (und vielleicht das Logo) mit der Funktion "Bitmap nachzeichnen" in eine Vektorgrafik umzuwandeln oder wähle für die Bitmaps eine niedrigere JPG-Komprimierung (Doppelklick auf die Bitmap in der Bibliothek und dann unter "Komprimierung" einstellen).

Es hat seinen Grund, warum Preloader in den meisten Fällen nur aus einfachen Vektorformen bestehen (Ladebalken o.ä.) - sie sollten möglichst klein sein! Ein Preloader, der über 10k schwer ist, hat m.E. seinen Zweck verfehlt.

Gruß
.
 

Anhänge

  • Startfilm2.zip
    131,5 KB · Aufrufe: 26
Zuletzt bearbeitet:
so, ich hab mir deine neue Flashfile mal angesehen.

Ich hab mich eben gewundert, dass ich im Bandbreitenprofiler 2 Downloads sehe. Aber das ist genau das was du mit einen zu großen Preloader meintest. Erst muss der große Preloader geladen werden, damit der dann die Hauptseite laden kann.
Also werde ich die Tafel wohl weglassen od. irgendwie die Dateigröße ändern.

Sehe ich das richtig, dass der Preloader jetzt komplett funktioniert ? NAchdem er alles geladen hat, will der die hauptseite.html mit dem hauptfilm.swf öffnen ? (Geht aber noch nicht, da hauptseite.html noch nicht vorhanden ist)

dann kann ich ja

loadMovie("home.swf", _root.ladeziel)

aus dem hauptfilm entfernen.
 
Hi,

Ja, der Preloader funktioniert in meinem Anhang (abgesehen von der getURL-Aktion, die Du selbst einfügen musst).

Die von Dir erwähnte Zeile scheint in der Hauptfilm.swf die home.swf anzuzeigen - in dem Fall darf die Zeile nicht entfernt werden, da der Preloader nichts anderes macht, als die beiden Filme im Browsercache abzulegen - für das Anzeigen musst Du nach wie vor selbst sorgen. Nach dem Vorladen sollte besagte loadMovie-Aktion allerdings ohne Zeitverlust vonstatten gehen. ;)

Gruß
.
 
Zurück