Mehrfach-Preloader – Flash-Filme im Griff

Die Besonderheit des Shockwave Flash Formats liegt in der Streaming-Fähigkeit. Jedoch werden die Projekte immer komplexer und bestehen oftmals nicht mehr aus einem Flashfilm, sondern setzen sich aus mehreren Einzelfilmen zusammen. Hierbei stellt sich nun für den Flash Entwickler die Frage, wie sich die Filme sinnvoll vorladen lassen, so dass man sicher gehen kann, dass die benötigten Bestandteile auch zur Verfügung stehen, um dem Besucher die volle Funktionalität des Projekts zu gewährleisten.

Ein einfacher Preloader reicht hierfür nicht mehr aus. Wir können jedoch ohne weiteres mit Hilfe einfacher Preloader einen Mehrfach-Preloader umsetzen, der die Vorraussetzungen schafft, die wir benötigen! Das vorliegende Tutorial soll uns hierbei behilflich sein:

Erste Schritte – Projektaufbau

Wir müssen uns zuerst mit der Struktur unseres Projekts auseinandersetzen, nur so wird es möglich sein, die einzelnen Flash Filme sinnvoll vorzuladen und zu verwalten.

Diese Struktur wird sich im Hauptfilm wie folgt widerspiegeln.

In der Actions Ebene sind von Bild 1 bis Bild 5 folgende Codezeilen untergebracht:

Bild 1:

// Flash Film Eins
stop();
loadMovieNum(„pack1.swf“, 1);

Bild 2:

// Flash Film Zwei
stop();
loadMovieNum(„pack2.swf“, 2);

Bild 3:

// Flash Film Drei
stop();
loadMovieNum(„pack3.swf“, 3);

Bild 4:
stop();

Bild 5:
stop();

Im vorliegenden Tutorial handelt es sich um 3 zusätzliche Flash-Filme. Natürlich lässt sich dies beliebig erweitern. Den hier vorliegenden Flash-Film sollten wir als hauptfilm.fla bzw. preloader.fla speichern und veröffentlichen.

Flash Filme – Aufbau

Nun kommen wir zum Aufbau der Flash-Filme, die vorgeladen werden sollen. Diese pack1 bis pack3.swf beinhalten die wesentlichen Codezeilen, um den Mehrfach-Preloader zu realisieren, da sie auch die Hauptzeitleiste des Hauptfilms steuern werden.

In der Script Ebene liegen folgende Codezeilen:

// Preloader + Anzeige
this.onEnterFrame = function() {
total_bytes = _root.getBytesTotal();
loaded_bytes = _root.getBytesLoaded();
prozent = int((loaded_bytes / total_bytes) * 100);
if (prozent == 100) {
_level0.nextFrame();
}
};
stop();

Für die Prozentanzeige wird lediglich ein Textfeld mit dem variablennamen prozent benötigt. Die Codezeile _level0.nextFrame(); sorgt dafür, dass die Hauptzeitleiste des Haupfilms angesprochen und so ein Flash-Film nach dem anderen vorgeladen wird, wie hier im Schemata gezeigt:

Flash-Filme steuern

Um die einzelnen Flash Filme nach dem Vorladen steuern zu können, müssen wir lediglich die richtige Filmebene (_level) ansprechen. Im Hauptfilm haben wir hierfür im Bild 5 eine Schaltfläche zum Testen eingesetzt. Auf dieser Schaltfläche befinden sich folgende Codezeilen:

on (release) {
_level1.gotoAndStop(2);
_level2.gotoAndStop(2);
_level3.gotoAndStop(2);
}

Fazit

Wie man sieht, müssen solche Mehrfach-Preloader von ihrem Aufbau her nicht sonderlich schwer sein! Auch die ActionScript-Codezeilen bestehen lediglich aus Basis-Anweisungen und einer gleichbleibenden Prozentualberechnung. Der direkte Weg ist oftmals der einfachste – daher ist es äusserst wichtig, den Ablauf des Vorladevorgangs zu planen; anschliessend erfolgt die Umsetzung.

Ein Tipp von: Matthias Kannengiesser, bearbeitet und aktualisiert von: Designer in Action

Kommentieren

Ich akzeptiere die Datenschutzerklärung.