Preloader die X-te

B

Benedikt

Bitte helft nem idioten

Hoi Leute!
Also erstmal entschuldigung, ich weiss das so nen thread schon 10000x gibt und das es hierüber auch 10000000x tuts gibt.
Ich hab schon wirklich alles versucht, und hab schon viele tuts angeschaut (auch das auf tutorials.de).

Also ich brauch nur eins, nen... (ich schäms mich zu sagen) preloader:
da ist ein textfeld, und dort steht der prozentsatz drinnen.
Und wenn fertig geladen ist, dann wird ne avi datei abgespielt.

Ich bin wirklich die letzte niete in flash, ich hab mir schon ein buch zugelegt (ein flash MX buch von saban unlü und sascha wolter) aber ich checke einfach NIX,
also drum jetzt bitte nicht irrgendwelche quellcodes o.ä hier reinposten :p

das einzige was ich brauche, ist so ein simpler preloader, wo ich einfach meine avi datei reintun kann.
Das wär wirklich grossartig!
(ich habe das auch schon mit anderen preloadern versucht (meine datei da einfach einzugügen) aber das geht einfach nicht... das einzige was ich kann, ist filme importieren)

Vielen, Vielen, Vielen, Vielen DAnk, das wär mir wirklich ne sehr grosse hilfe,
Benedikt
 
Ein Preloader, übersetzt ein 'Vorlader', macht genau das, was sein Name schon sagt. Er lädt den gesamten Film schon einmal ganz auf die Platte, bevor er abgespielt wird. Damit erreicht man, dass der Clip später (fast) ruckelfrei läuft.
Preloader gibt es in allen erdenklichen Formen. Mit Balken, ohne Balken, mit %-Display, ohne %-Display, die Möglichkeiten sind grenzenlos. Solche Preloader sind aber eigentlich erst ab einer Größe von 30kb zu empfehlen. Wenn man allerdings nicht weiss, wie groß der MovieClip einmal werden soll, macht man lieber gleich einen Perloader. Damit sparrt man sich dann später lässtiges Umändern des Filmes.
Solch ein Preloader ist eigentlich ultra-einfach zu machen.

Man muss als erstes die 3 Anfangsframes des MC leer lassen und in Schlüsselbilder umwandeln. Dem ersten Bild gibt man folgendes Actionscript:

ifFrameLoaded (_totalframes) {
gotoAndPlay(3);
}


Mit diesem kleinen Script lässt man den Film überprüfen, ob schon alle Frames geladen sind. Wenn dies zutrifft, soll er zu Bild 3 wechseln und den Film abspielen, der dort beginnt. Sollte es aber nicht der Fall sein, so geht er einfach ins nächste Frame. In dieses schreiben wir dann Folgendes:

gotoAndPlay(1);

So entsteht ein Schleife, die, wenn alle Frames geladen sind, zu Bild 3 springt und den eigentlichen Film abspielt.


So, der eigentliche Preloader ist nun fertig. Aber da es verdammt langweilig ist vor einem leerem Bildschirm zu sitzen und zu warten, sollte man eine kleine Anzeige einbauen, die die schon geladenen Prozente wiedergibt.

Darum gehen wir nun wieder ins erste Frame und geben diesem folgnedes AS.

total = _root.getBytesTotal();
geladen = _root.getBytesLoaded();
prozent = int((geladen/total)*100);
kbgeladen = int(geladen/1024);
kbtotal = int(total/1024);

total ist die Anzahl der Bytes, die geladen werden müssen.
geladen ist die Anzahl der Bytes, die schon geladen sind.
prozent: Durch eine einfache Rechung ergeben sich die Prozente. Das int bezweckt, dass nur ganze Zahlen angezeigt werden.

Da bei größeren Filmen schon einige hundert Kilobytes zusammen kommen können, ist es vielleicht ratsam, die Anzeige nicht in Bytes, sondern in KiloBytes anzuzeigen. Hierfür rechnen wir einfach die Bytes um. (Bytes / 1024 = KiloByte).
Gut, der 'schwere' Teil ist geschafft. Legen Sie nun in dem gleichen Bild ein Textfeld mit folgenden Optionen an:

- dynamisch
- eine Zeile
- kein Umbruch
- Variable XXX

In diesem Texteld wird nun immer die Variable XXX angezeigt. Wenn Sie nun statt XXX prozent schreiben, haben Sie schon ihre Prozentanzeige. Ganz einfach. Falls Sie noch die KB-Anzeige haben wollen, erstellen Sie einfach noch zwei weitere dynamische Textfelder mit den Variablen kbgeladen und kbtotal. Wenn sie es sich einfach machen wollen, können Sie das AS weiter oben durch diese Zeile ergänzen.

anzeige = String ("Es wurden bereits" + kbgeladen + " kb von" + kbtotal + " kb geladen");

Nun müssen sie nur noch ein dynmaisches Textfeld mit der Variable anzeige erstellen, und schon haben Sie einen vollständigen Fortschrittsbericht.

Kommen wir nun zum Ladebalken.

Öffnen Sie hierzu die Bibliothek und erstellen Sie einen MC mit einem Balken. Es ist wichtig darauf zu achten, dass der Balken rechts neben dem Mittelpunkt liegt.


Legen sie diesen Film nun auf die Bühne und geben sie ihm den Instanznahmen balken. Achten Sie darauf, das der Balken in den gleichen Frames liegt wie das Textfeld für die Prozente. Schreiben sie nun unter das

total = _root.getBytesTotal();
geladen = _root.getBytesLoaded();
prozent = int((geladen/total)*100);
kbgeladen = int(geladen/1024);
kbtotal = int(total/1024);
anzeige = String ("Es wurden bereits" + kbgeladen + " kb von" + kbtotal + " kb geladen");

Diese Zeile :

balken._width = prozent*xxx;

Mit diesem Script wird der Instanz balken die Breite prozent*xxx zugewiesen. Da prozent ja maximal immer nur 100 sein kann, benötigen wir das xxx, um genau bestimmen zu können, wie groß der Balken letzendlich werden soll.

Nehmen wir einmal an, der Balken soll bei 100% 350 Pixel lang sein. Dann müssten Sie Folgendes schreiben:

balken._width = prozent*3.5;

Fertig.
 
Zuletzt bearbeitet:
Norm hätt ich ja einfach den Link gepostet, aber sonst heist es wieder:
"Schreib das Zeug doch hin, damit alle was davon haben, auch wenn die Page mal down ist."

Ich kenn das :)
 
Als Ergänzung hierzu noch die Tatsache, dass ein Preloader in der Form immer nur die Größe des *unkomprimierten* Filmes widerspiegeln wird, und damit meist nicht die *tatsächliche* Größe eines zu ladenden Filmes.

Jeder Film wird standardmäßig beim Exportieren komprimiert, wenn das nicht geändert wurde - von daher also mit so absoluten Angaben lieber aufpassen, sonst kann's leicht passieren, dass es dem ein oder anderen User doch mal zuviel erscheint - relative Angaben ersparen hier aber den ersten Schreck. ;)

hth,
Geist
 
Wenn Sie nun statt XXX prozent schreiben, haben Sie schon ihre Prozentanzeige.

Wo soll man das prozent hinschreiben ?? versteh ich nicht ganz :(
bei Var prozent oder wie?
 
Genau, killy meinte, dass dem Textfeld, welcher die Prozente widergeben soll, ja eine Variable zugeordnet werden kann.

In seinen obenstehenden Berechnungen erhält die Variable prozent immer wieder einen aktualisierten Wert - durch die Zuordnung dieser Variable als Textfeldvariable wird der aktualisierte Prozentwert auch gleich jeweils im Textfeld mit ausgegeben.

Gruß,
Geist
 
also ich bekomm das irgendwie nicht hin

- Variable XXX

wo soll ich das prozent hinschreiben? ich denke bei var mus xxx hin ?
 

Neue Beiträge

Zurück