Willkommen auf dem Portal für Mediengestalter
|
|
Autor |
Nachricht |
DROPSI
Dabei seit: 27.12.2005
Ort: Zwickau
Alter: -
Geschlecht:
|
Verfasst Do 29.12.2005 12:30
Titel
|
|
|
ok..ich probier mal mein Glück...trotzdem Danke
|
|
|
|
|
Mr.Ice.T
Dabei seit: 04.05.2006
Ort: -
Alter: 57
Geschlecht:
|
Verfasst Do 04.05.2006 10:08
Titel Re: [Tutorial] dyn. Flash-Preloader zum Laden externer Datei |
|
|
pejot hat geschrieben: | Servus
Hallo ! Das sieht ja alles prima aus und ich kann diesen Preloader gut gebrauchen. Aber irgendetwas mach ich falsch! Habe den Prel. in meine Page eingebunden und er erscheint auch, aber das Video ( wmv-format) wird nicht geladen. Bin halt nicht d e r Megaprofi, mehr ein Hobbyprogrammer......Hilfe wäre nett !! Was mache ich falsch ??
Aufgrund einiger Rückfragen zu diesem Tutorial, wie man denn externe Daten (.swf-Dateien, Bilder oder Filme) mit diesem komplett dynamischen Preloader lädt, habe ich zwei neue Tutorials geschrieben.
Die Features bleiben die gleichen, wie im eben genannten Tut.
Tutorial 1: „Laden einer Datei von einer externen Quelle mit einem dynamischen Preloader"
Tutorial 2: „Laden multipler Dateien von externen Quellen mit einem dynamischen Preloader“
Tutorial 1: „Laden einer Datei von einer externen Quelle mit einem dynamischen Preloader"
1.1 unkommentierter Quelltext zu besseren Übersicht
Code: |
var zielfilm = "bilder/bild1.jpg";
var startx = 290 ;
var starty = 190 ;
var breite = 250;
var hoehe = 10;
var farbe = 0x3399CC;
var alpha = 100;
var textfarbe = 0x3399CC;
var schriftart = "Verdana";
var schriftgroesse = 10;
var schriftfett = 1;
var schriftkursiv = 0;
var schriftunterstrichen = 0;
var textausrichtung = "left";
//
_root.createEmptyMovieClip("ziel", 2);
_root.ziel._x = 10;
_root.ziel._y = 10;
_root.ziel.loadMovie(zielfilm);
//
_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();
};
for(var i = 1;i <= 5;i++){
_root.createTextField("anzeige"+i,20+i,startx,starty+(20*i),300,20);
anzeigeformat = new TextFormat();
anzeigeformat.color = textfarbe;
anzeigeformat.font = schriftart;
anzeigeformat.size = schriftgroesse;
anzeigeformat.bold = schriftfett;
anzeigeformat.italic = schriftkursiv;
anzeigeformat.underline = schriftunterstrichen;
anzeigeformat.align = textausrichtung;
}
_root.onEnterFrame = function(){
var t = _root.ziel.getBytesTotal();
var g = _root.ziel.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 && g>50){
for(var i = 1;i <= 5;i++){
_root["anzeige"+i].removeTextField();
}
balken_mc.clear();
delete this.onEnterFrame;
}
else {var a = (g/t)*100;
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;
}
};
|
1.2 kommentierter Quelltext
Code: |
// pfad zu einer externen datei – das kann z.b. ein pfad zu einer swf, zu einem bild oder einem film sein
var zielfilm = "bilder/bild1.jpg";
//++++++++++++++++++++++++++++++ optik des preloaders +++++++++++++++++++++
// anfangswert des balkes auf der x-achse
var startx = 290 ;
// anfangswert des balkes auf der y-achse
var starty = 190 ;
// balkenbreite
var breite = 250;
// balkenhoehe
var hoehe = 10;
// balkenfarbe
var farbe = 0x3399CC;
// transparenz des balkens
var alpha = 100;
// textfarbe
var textfarbe = 0x3399CC;
// schriftart
var schriftart = "Verdana";
// schriftgröße
var schriftgroesse = 10;
// schrift fett?
var schriftfett = 1;
// schrift kursiv?
var schriftkursiv = 0;
// schrift unterstrichen?
var schriftunterstrichen = 0;
// textausrichtung
var textausrichtung = "left";
//
//++++++++++++++++++++++++++++++ externe dateien +++++++++++++++++++++++++++
// container zum reinladen externer dateien (swfs, bilder, filme etc.)
_root.createEmptyMovieClip("ziel", 2);
// position des containers auf der x-achse
_root.ziel._x = 10;
// position des containers auf der y-achse
_root.ziel._y = 10;
// die zu ladende externe quelle
_root.ziel.loadMovie(zielfilm);
/*
+++++++++++++++++++++++++++++++ der balken +++++++++++++++++++++++++++++++++
zuerst wird dynamisch ein leerer movieclip erzeugt
in diesem movieclip wird der balken per flash-drawing-api erzeugt: alpha, farbe, höhe, breite
*/
_root.createEmptyMovieClip("balken_mc",1);
// x-position des balkens
balken_mc._x = startx;
// y-position des balkens
balken_mc._y = starty;
//zeichnen des balkens
with(balken_mc){
beginFill(farbe,alpha);
lineTo(0,hoehe);
lineTo(breite,hoehe);
lineTo(breite,0);
lineTo(0,0);
endFill();
};
/*
++++++++++++++++++++++++++++++ die anzeige +++++++++++++++++++++++++++++++++
schleife zur erzeugung der textfelder fuer die anzeige der kilobytes, prozent und der zeit
*/
for(var i = 1;i <= 5;i++){
//erzeugt ein textfeld mit der instanz "anzeige+i" an einer vorgegebenen position
_root.createTextField("anzeige"+i,20+i,startx,starty+(20*i),300,20);
//formatierung der anzeigetexte
anzeigeformat = new TextFormat();
anzeigeformat.color = textfarbe;
anzeigeformat.font = schriftart;
anzeigeformat.size = schriftgroesse;
anzeigeformat.bold = schriftfett;
anzeigeformat.italic = schriftkursiv;
anzeigeformat.underline = schriftunterstrichen;
anzeigeformat.align = textausrichtung;
}
//variablen fuer die anzeige
_root.onEnterFrame = function(){
// gesamtbytes der zu ladenden datei
var t = _root.ziel.getBytesTotal();
// bereits geladene bytes
var g = _root.ziel.getBytesLoaded();
// timer für die zeitanzeige
var st = getTimer();
// rundung der auf gerade zahlenwerte
var rt = Math.round((st-at)/1000);
var et = Math.round((t*rt)/g);
var ct = Math.round(-(rt-et));
// wenn geladene bytes mit gesamtbytes übereinstimmen
if(g == t){
// werden durch eine schleife alle vorhandenen textfelder gelöscht
for(var i = 1;i <= 5;i++){
_root["anzeige"+i].removeTextField();
}
// der balken wird ebenfalls gelöscht
balken_mc.clear();
// die onEnterFrame-Anweisung wird aus performancegründen auch gelöscht
delete this.onEnterFrame;
}
// wenn geladene bytes mit gesamtbytes nicht übereinstimmen, wird prozentwert des ladefortschritts angezeigt
else {var a = (g/t)*100;
// definition der anzeigefelder (texthäppchen)
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 wird proportional zum prozentwert des ladefortschrittes skaliert
balken_mc._xscale = a;
}
}
|
Die Größe des Preloader beträgt nur 1kB und eignet sich somit auch perfekt zum Preloaden von Dateien mit geringer Datenmenge
Der Code ist natürlich wie immer äußerst ausführlich auskommentiert. Sollten trotzdem ein Problem oder Fragen auftauchen, postet bitte hier im Thread. Bitte nicht per PN, damit auch andere User was davon haben, die sich evtl. mit demselben Problem herumschlagen müssen.
anschauen
saugen
Viel Spaß damit!
Gruß PeJot |
|
|
|
|
|
Anzeige
|
|
|
OloX
Dabei seit: 09.06.2006
Ort: -
Alter: -
Geschlecht: -
|
Verfasst Fr 09.06.2006 22:42
Titel hi |
|
|
hi leute,
wollte so ein teil auch bei meinen Intro eibauen
aber es funtzt einfach nicht
kenn jemand mein teil richtig machen das es funtzt ???
FLA http://dmsgamer.dm.funpic.de/intro.fla
dan bitte die bearbeitte FLA und die SWF an @ schiken ??
wähere echt coo!
ps soll zu finalv4.swf Gleden werden^^
DANE schonmal im voraus
Zuletzt bearbeitet von OloX am Fr 23.06.2006 23:34, insgesamt 4-mal bearbeitet
|
|
|
|
|
phihochzwei
Moderator
Dabei seit: 08.06.2006
Ort: Mülheim an der Ruhr
Alter: 46
Geschlecht:
|
Verfasst Sa 10.06.2006 06:59
Titel
|
|
|
Kannst Du dir unter http://www.flaming-art.com/MGI/intro.fla runterladen. Du must aber noch in deinen Film ein stop() im ersten Frame einbauen, da der sonst anfängt zu spielen bevor er fertig ist mit laden.
Allerdings muss ich sagen, sind da sachen drin, die totaler Humbug sind
|
|
|
|
|
OloX
Dabei seit: 09.06.2006
Ort: -
Alter: -
Geschlecht: -
|
Verfasst Sa 10.06.2006 13:57
Titel
|
|
|
wenn ich da stop() in der ersten frame einbaue dann bleibt das bild schwartz ^^
Help me
ps der hauptfilm hat 5 Ebenen
Zuletzt bearbeitet von OloX am Sa 10.06.2006 13:59, insgesamt 1-mal bearbeitet
|
|
|
|
|
phihochzwei
Moderator
Dabei seit: 08.06.2006
Ort: Mülheim an der Ruhr
Alter: 46
Geschlecht:
|
Verfasst Sa 10.06.2006 18:54
Titel
|
|
|
Gaaaaanz ruhig
Such mal im Preloader die Zeile
Code: |
clearInterval(showPreloader)
|
über diese Zeile schreibst Du einfach
Code: |
_root.ziel.gotoAndPlay(2)
|
und schon läufts
|
|
|
|
|
OloX
Dabei seit: 09.06.2006
Ort: -
Alter: -
Geschlecht: -
|
Verfasst So 11.06.2006 10:11
Titel
|
|
|
heul funtzt immernoch nicht
|
|
|
|
|
Kai.S
Dabei seit: 20.12.2005
Ort: München
Alter: 41
Geschlecht:
|
Verfasst Fr 23.06.2006 08:57
Titel
|
|
|
Pejot, wärst du bitte so lieb und fixt den DL Link aus deinem Tut
|
|
|
|
|
|
|
|
Ähnliche Themen |
[Flash] Preloader soll nicht gesamte Animation laden
[Flash CS3 & AS2] Preloader mit mehreren SWF-Dateien
[Tutorial] Erstellen und auslesen von XML-Dateien mit Flash
Hilfe - laden externer Bilder in ein MC (FlashMX)
PHP/JavaScript Code: Bilder aus externer Quelle laden
Probleme mit Scrollbuttons beim Laden externer .txt-Datei
|
|
|
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.
|
|