Willkommen auf dem Portal für Mediengestalter
|
|
Autor |
Nachricht |
l'Audiophile
Threadersteller
Dabei seit: 16.09.2004
Ort: Berlin
Alter: 43
Geschlecht:
|
Verfasst Fr 08.10.2004 14:42
Titel [Tutorial] dynamischer Preloader mit Balken und Anzeige |
|
|
Aufgrund des Threads von Bloody_Root habe ich mich entschlossen ein kleines Flash-Preloader-Tut zu schreiben.
Ich habe das Script so auskommentiert, dass auch AS-Anfänger den Code interpretieren können.
Zum Preloader:
Er ist sehr klein (<800 byte), da er dynamisch erstellt wird. Somit eignet er sich auch zu preloaden von Dateien unter der 20 kb-Grenze.
Darstellung durch:
Balken,
Kilobyteanzeige,
Prozentanzeige,
Sekundenanzeige
+ Textformat
Das folgende Script im zweiten Frame auf der HZL einfügen. Erstes Frame leer lassen! In das dritte Frame (instanzname "inhalt") kommt euer Content rein.
Code: |
//anfangswert des balkens auf der x-achse
var startx = 290 ;
//anfangswert des balkens auf der y-achse
var starty = 190 ;
//balkenbreite
var breite = 250;
//balkenhoehe
var hoehe = 10;
//balkenfarbe
var farbe = 0x009900;
// transparenz des balkens
var alpha = 100;
var st = getTimer()
//zeichnen des balkens
//zuerst wird dynamisch ein leerer movieclip erzeugt
//in diesem movieclip wird der balken erzeugt: alpha, farbe, höhe, breite
_root.createEmptyMovieClip("balken_mc",1);
balken_mc._x = startx;
balken_mc._y = starty;
with(balken_mc){
beginFill(farbe,alpha);
lineTo(0,hoehe);
lineTo(breite,hoehe);
lineTo(breite,0);
lineTo(0,0);
endFill();
};
//textfelder fuer die anzeige der kilobytes, prozent und der zeit
for(var i = 1;i <= 5;i++){
//erzeugt ein textfeld mit der instanz "anzeige" an einer vorgegebenen position
_root.createTextField("anzeige"+i,20+i,startx,starty+(20*i),300,20);
//formatierung der anzeigetexte
anzeigeformat = new TextFormat();
anzeigeformat.color = 0x009900;
anzeigeformat.font = "Verdana";
anzeigeformat.size = 10;
anzeigeformat.bold = true;
}
//variablen fuer die anzeige
_root.onEnterFrame = function(){
var t = _root.getBytesTotal();
var g = _root.getBytesLoaded();
var st = getTimer();
var rt = Math.round((st-at)/1000);
var et = Math.round((t*rt)/g);
var ct = Math.round(-(rt-et));
if(g == t){
for(var i = 1;i <= 5;i++){
_root["anzeige"+i].removeTextField();
}
//wenn fertig geladen
gotoAndStop("inhalt");
balken_mc.clear();
delete this.onEnterFrame;
}
//andernfalls
else {var a = (g/t)*100;
// definition der anzeigefelder
anzeige1.text = "Es wurden "+Math.round(g/1024)+" Kb von "+Math.round(t/1024)+" Kb geladen";
anzeige1.setTextFormat(anzeigeformat);
anzeige2.text = "Das sind nach Adam Riese "+Math.round(a)+" %";
anzeige2.setTextFormat(anzeigeformat);
anzeige3.text = "Die abgelaufene Zeit beträgt "+rt+" Sekunden";
anzeige3.setTextFormat(anzeigeformat);
anzeige4.text = "Sie müssen sich noch ca. "+ct+" Sekunden gedulden";
anzeige4.setTextFormat(anzeigeformat);
balken_mc._xscale = a;
}
}
|
Schaut nach viel Code aus; keine Angst, das Meiste sind nur Kommentare.
nochmal ausführlich als PDF
Fragen? Immer her damit!
Ich denke aber mal, dass es ausführlich genug war.
Gruß Patrick
Zuletzt bearbeitet von l'Audiophile am Mo 22.08.2005 02:11, insgesamt 3-mal bearbeitet
|
|
|
|
|
l'Audiophile
Threadersteller
Dabei seit: 16.09.2004
Ort: Berlin
Alter: 43
Geschlecht:
|
|
|
|
|
Anzeige
|
|
|
Chrischan
Dabei seit: 05.10.2003
Ort: Kiel
Alter: 57
Geschlecht:
|
Verfasst Fr 08.10.2004 15:08
Titel
|
|
|
Oh, prima
Hatte es schon selbst nachgebaut .
Schöne Sache !
|
|
|
|
|
Gargoyle
Dabei seit: 19.05.2005
Ort: -
Alter: 39
Geschlecht:
|
Verfasst Sa 11.06.2005 16:08
Titel
|
|
|
habe deinen Preloader ein bisschen umgeschrieben und möchte jetzt noch eine Maske darüberlegen, die die Form unseres Logos hat (für einen Fülleffekt). Wie löse ich das am Besten?
|
|
|
|
|
Gargoyle
Dabei seit: 19.05.2005
Ort: -
Alter: 39
Geschlecht:
|
Verfasst Mo 13.06.2005 00:15
Titel
|
|
|
nix helfen mir?
|
|
|
|
|
JanG
Dabei seit: 13.10.2002
Ort: Köln/Düsseldorf
Alter: -
Geschlecht:
|
Verfasst Mo 13.06.2005 03:02
Titel
|
|
|
Eigentlich doch nur den Balken unter die Maske, wenn mich nicht alles täuscht... Meine Loader sidn nie mit skalierenden Balken, daher kann ich das nicht zu 100% beantworten. Denke aber, das es so funzen wird.
Peaze!
|
|
|
|
|
Gargoyle
Dabei seit: 19.05.2005
Ort: -
Alter: 39
Geschlecht:
|
Verfasst Mo 13.06.2005 09:43
Titel
|
|
|
nun ja ich lege die Maske darüber aber das bringt nichts, der Balken erscheint gleich wie vorher. Wie funktioniert das denn genau per setMask? Muss ich da die gewünschte Form in einen Clip packen? (hat bis jetzt auch noch nicht funktioniert)
Zuletzt bearbeitet von Gargoyle am Mo 13.06.2005 09:43, insgesamt 1-mal bearbeitet
|
|
|
|
|
l'Audiophile
Threadersteller
Dabei seit: 16.09.2004
Ort: Berlin
Alter: 43
Geschlecht:
|
Verfasst Mo 13.06.2005 14:06
Titel
|
|
|
Gargoyle hat geschrieben: | nun ja ich lege die Maske darüber aber das bringt nichts, der Balken erscheint gleich wie vorher. Wie funktioniert das denn genau per setMask? Muss ich da die gewünschte Form in einen Clip packen? (hat bis jetzt auch noch nicht funktioniert) |
Ja, entweder schiebst du ne dynamische Maske darüber oder aber du erstellst den Movieclip „balken_mc“ manuell und legst dort eine Maske darauf.
Gruß PeJot
|
|
|
|
|
|
|
|
Ähnliche Themen |
Preloader-Balken beginnt schon bei 3/4 ...
preloader mit zufalls anzeige des bereits geladenen inhaltes
[Tutorial] dyn. Flash-Preloader zum Laden externer Dateien
dynamischer div-tag...
Balken Skalieren
Balken Ebenenstil?
|
|
|
Du kannst keine Beiträge in dieses Forum schreiben. Du kannst auf Beiträge in diesem Forum nicht antworten. Du kannst an Umfragen in diesem Forum nicht mitmachen.
|
|