Preloader......

  • Hiho


    Ich hab mal ne Frage..hab jetzt auf circa 7 Seiten die Tuts für Preloader studiert und immer wieder steht der gleiche sch... dass man den Film in etwa 8 Teile (z.B. Szenen) teilen sollte und dann so etwas einrichten dass dann die Prozentzahlen anzeigt (12.5 Proz etc.) aber das ist doch ein Witz!! Wenn ich z.B. in der Szene 1 ein 1 MB Wav habe braucht das ja viel länger zu laden als ein 10kb loop in z.b. Szene 8. Aber ich hab schon mal einen Preloader angegeben der die genauen Files die noch zum Laden war anzeigten. Können das nur Profis oder gibts dafür auch ein Tut? Denn die "Newbie-Variante" eignet sich meiner Meinung nach nicht wahnsinnig für komplexe Seiten...


    Grüsse
    NicNac

  • Normalerweise sind bei www.partylogger.de Tutorials zu so nem Preloader. Hab aber gerade gesehen, dass die umbauen und down sind.
    Ich hab jetzt aber auch keine Lust, das Stück für Stück zu erklären, darum hab ich dich mal in icq geaddet und schicke dir morgen bei gelegenheit die passende *.fla mal.
    Grundsätzlich funzt das über die Funktion .getBytesLoaded()
    Im ersten Frame des Preloaders wird erstmal fix überprüft (mit dem guten alten if frameisloaded Befehl), ob der Film nicht evtl. doch schon beim Nutzer auf der Platte im Cache ist. Im zweiten Frame des Preloaders sind die entsprechenden dynamischen Textfelder für die Anzeige der Werte. Im dritten Frame kommt ne Anweisung, dass der Film zurück zu frame 2 springt, damit ein Loop entsteht und die Daten aktualisiert werden.


    Im 2. Frame überprüft man dann erstmal, wieviele Bytes schon geladen wurden. Bei jedem mal, wo der Loop da wieder ankommt wird diese Zahl aktualisiert. Das geht über:
    BytesGeladen = int(this.getBytesLoaded()/1024) add "KB";
    Das entsprechende Textfeld muss dann auch BytesGeladen heißen. Durch 1024 wird geteilt, um die ganze geschichte in KB´s anzuzeigen.


    Prozente ermittelt man, indem man die geladenen Bytes durch die Gesamtbytes des Filmes teilt und das dann mal 100 nimmt, um die Prozentzahl zu erhalten. Durch int wird auch im oberen Fall die Zahl zu einer Ganzzahl gecastet:
    prozent = ((this.getBytesLoaded()/this.getBytesTotal())*100);
    Ladeprozent = int(prozent) add "%";
    Im Textfeld "Ladeprozent" werden die Porzentzahlen dann ausgegeben.
    Der Preloader funzt allerdings nur in Flash 5, da 4 und weniger diese Funktionen nicht hat, da dort nur die frames ermittelt werden können und nicht die Bytes, das geht dann nur über nen Javascript.
    Solltest also evtl. vorweg noch ne Flash 5 Weiche machen, bei 4er PlugIns kommt sonst Müll.
    Sachen wie verbleibende Ladezeit usw. kannst du dir dann morgen in der *.fla selbst anschauen.


    MfG Yoda


    [Edited by Yoda on 02.05.01 at 01:48 GMT]