• beyond tellerrand – play. Register Now!
Zurück   Flashforum > Flash > Flash Einsteiger

Antwort
 
LinkBack Themen-Optionen Ansicht
Alt 17-06-2009, 21:21   #1 (permalink)
Neuer User
 
Registriert seit: Jul 2008
Beiträge: 16
Question Proloader Problem

Ich habe eine swf erstellt und sie hochgeladen. Beim Aufrufen der Webadresse startet die Präsentation, alles reibungslos.

Das Problem ist, dass die swf-Datei rund 8 MB groß ist und bis die Präsentation startet, der Bildschirm die ersten 14 Sek. (DSL 3000) schwarz bleibt. Da jedoch nicht jeder wissen kann, dass es weitergehen wird, brauche ich einen Preloader.

Ich habe mir jetzt zahlreiche heruntergeladen und versucht sie einzubauen, klappt jedoch nicht. Es werde nichtmal die Preloader ausgeführt, die ich von anderen heruntergeladen habe. Es verändern sich weder die Zahlen noch bewegt sich der Balken. Warum?

Am besten wäre ein Preloader, der einfach den Ladefortschritt in % anzeigt. Wieso klappt das nicht

Als Anhang habe ich eine Datei angehängt, die ich im Weg gezogen habe. Ich habe also eine fertige swf. Wohin soll ich sie stecken, damit alles funktioniert? Bitte bitte Hilfe
Angehängte Dateien
Dateityp: fla loader_strich.fla (16,0 KB, 3x aufgerufen)
Diwersant ist offline   Mit Zitat antworten
Alt 17-06-2009, 23:36   #2 (permalink)
agedoubleju
Gast
 
Beiträge: n/a
Erstell eine leere fla, erstell eine zusätzliche zweite Ebene, leg darauf eine Textfeldinstanz, gib der Instanz den Instanznamen meinText.

Klick das Schlüsselbild der oberen Ebene an und kopier etwa folgendes Script in das Aktionenbedienfeld:
PHP-Code:
//leeren MC erstellen
this.createEmptyMovieClip("con",1);

//Lauscher-Objekt erstellen
var mclListener:Object = new Object();

//MovieClipLoader-Instanz erstellen
var mcLoader = new MovieClipLoader();

//Lauscher auf die Instanz setzen
mcLoader.addListener(mclListener);

//Film nachladen
mcLoader.loadClip("deine.swf"this.con);//für "deine.swf" entsprechend deinen Filename setzen...


//während des Ladens bspw. um Ladebalken o.ä. zu aktualisieren
mclListener.onLoadProgress = function(target:MovieClipbytesLoaded:NumberbytesTotal:Number):Void {
    var 
prozent int(bytesLoaded*100/bytesTotal);
   
_root.meinText.text ""+prozent+" %"
}

//Film ist geladen und MC wurde befüllt:
mclListener.onLoadInit = function(mc:MovieClip) {
   
trace("fertig, beladen wurde "+mc);
   
//Film wird automatisch abgespielt

  Mit Zitat antworten
Alt 29-06-2009, 23:29   #3 (permalink)
Neuer User
 
Benutzerbild von swiged
 
Registriert seit: Nov 2007
Beiträge: 56
hi,
habs so ähnlich versucht, habe mich an nem beispiel aus nem buch orientiert. witzig ist, dass das beispiel aus dem buch funktioniert und wenn ich mir das nachbaue, dann klappts nicht, bekomme immer den fehler:

1067: Implizite Umwandlung eines Werts des Typs Number in einen nicht verwandten Typ String.

es ist zum verrückt werden. es gibt nur zwei textfelder und einen balken, der den status anzeigen soll.

hier mal der code:
Code:
var laden:Loader = new Loader();
var url:URLRequest =  new URLRequest("testvideo.swf");
laden.x = 60;
laden.y = 20;

laden.contentLoaderInfo.addEventListener(ProgressEvent.PROGRESS, fortschritt);
//laden.contentLoaderInfo.addEventListener(Event.COMPLETE, fertig);

laden.load(url);
addChild(laden);

function fortschritt(evt:ProgressEvent) {
	kbgeladen_txt.text = Math.round(evt.bytesLoaded / 1000);
	kbgesamt_txt.text = Math.round(evt.bytesTotal / 1000);
	var prozent:int = 100 * evt.bytesLoaded / evt.bytesTotal;
	balken_mc.width = prozent * 2;
}
Angehängte Dateien
Dateityp: zip loader.zip (9,9 KB, 7x aufgerufen)
swiged ist offline   Mit Zitat antworten
Alt 29-06-2009, 23:35   #4 (permalink)
agedoubleju
Gast
 
Beiträge: n/a
Zitat:
kbgeladen_txt.text = Math.round(evt.bytesLoaded / 1000);
Na ja, text ist eine Eigenschaft eines Textfeldes, die einen String erwartet. Du versuchst aber, eine Zahl zu übergeben...
PHP-Code:
//kbgeladen_txt.text = Math.round(evt.bytesLoaded / 1000);
//kbgesamt_txt.text = Math.round(evt.bytesTotal / 1000);
kbgeladen_txt.text Number(Math.round(evt.bytesLoaded 1000));
kbgesamt_txt.text Number(Math.round(evt.bytesTotal 1000)); 
  Mit Zitat antworten
Alt 30-06-2009, 07:40   #5 (permalink)
Neuer User
 
Benutzerbild von swiged
 
Registriert seit: Nov 2007
Beiträge: 56
jo, so habe ich den fehler auch verstanden. ist an sich auch nachvollziehbar, aber in der anderen version funktioniert es ja. wenn ich Number(....) einsetze gehts leider auch nicht.
swiged ist offline   Mit Zitat antworten
Alt 30-06-2009, 14:04   #6 (permalink)
agedoubleju
Gast
 
Beiträge: n/a
Zitat:
gehts leider auch nicht.
Kommt immer noch die Fehlermeldung?
  Mit Zitat antworten
Alt 30-06-2009, 14:52   #7 (permalink)
Neuer User
 
Benutzerbild von swiged
 
Registriert seit: Nov 2007
Beiträge: 56
jo, exakt die selbe wie vorher
swiged ist offline   Mit Zitat antworten
Alt 30-06-2009, 15:31   #8 (permalink)
agedoubleju
Gast
 
Beiträge: n/a
Mein Fehler, statt nach Number muss natürlich nach String gecastet werden. Und ein stop fehlt noch...
PHP-Code:
var laden:Loader = new Loader();
var 
url:URLRequest =  new URLRequest("testvideo.swf");
laden.60;
laden.20;

laden.contentLoaderInfo.addEventListener(ProgressEvent.PROGRESSfortschritt);
//laden.contentLoaderInfo.addEventListener(Event.COMPLETE, fertig);

laden.load(url);
addChild(laden);

function 
fortschritt(evt:ProgressEvent) {
    
kbgeladen_txt.text String(Math.round(evt.bytesLoaded 1000));
    
kbgesamt_txt.text String(Math.round(evt.bytesTotal 1000));
    var 
prozent:int 100 evt.bytesLoaded evt.bytesTotal;
    
balken_mc.width prozent 2;
}
stop(); 
  Mit Zitat antworten
Alt 30-06-2009, 16:03   #9 (permalink)
Neuer User
 
Benutzerbild von swiged
 
Registriert seit: Nov 2007
Beiträge: 56
super, hat geklappt. vielen dank. aber kannst du mir bitte erklären warum der cast hier notwendig ist und bei der anderen version nicht?
und wofür ist das stop()?

eine kleinigkeit hätte ich noch:
der loader greift auf meine videosteuerung zu, die 50kb groß ist. diese wiederum greift auf einen .flv zu, die 1900kb groß ist. wenn ich aber als ziel des loaders diev.flv angebe, dann kommt der fehler, dass es sich um ein nicht unterstützes dateiformat handelt.
greife ich jedoch auf die .swf zu, dann ist der film nicht vollständig geladen. kann ich das evtl umgehen, also als ziel die 1900kb nehmen?

gruß,
swiged
swiged ist offline   Mit Zitat antworten
Alt 14-07-2009, 21:56   #10 (permalink)
Neuer User
 
Benutzerbild von swiged
 
Registriert seit: Nov 2007
Beiträge: 56
guten abend zusammen,

die angesprochene kleinigkeit ist doch etwas nervtötender als ich dachte.
ich möchte mich an gestreamten videos versuchen, der preloader funktioniert eigentlich wie geplant, nur dass er eine falsche quelle als ziel nimmt (wie oben beschrieben).
nun möchte ich neben dem video aber noch andere elemente unterbringen. diese sollen aber erst auftauchen, wenn das video vorhanden ist. habe es mit event.COMPLETE versucht, was aber keine früchte trägt.
kann ich abfragen, wann das video auf der bühne erscheint und danach erst die andern objekte erscheinen lassen?
darüber hinaus wundere ich mich über eine weitere kleinigkeit:
wenn ich mitt der maus in der zeitleiste des videos in einen bereich klicke, der nicht vorgeladen ist, dann spielt der player garnicht mehr.

ist zum anhängen leider zu groß, aber hier mal ein einblick:
http://swiged.homelinux.com/flash/emodul/basic.html

hat da jemand evtl ne idee?

gruß,
swiged
swiged ist offline   Mit Zitat antworten
Alt 15-07-2009, 00:22   #11 (permalink)
agedoubleju
Gast
 
Beiträge: n/a
Zitat:
wenn ich mitt der maus in der zeitleiste des videos in einen bereich klicke, der nicht vorgeladen ist, dann spielt der player garnicht mehr.
Das ist auch normal. Ansonsten benötigst du einen Videoserver.
  Mit Zitat antworten
Antwort

Lesezeichen

Stichworte
preloader

Themen-Optionen
Ansicht

Forumregeln
Es ist Ihnen nicht erlaubt, neue Themen zu verfassen.
Es ist Ihnen nicht erlaubt, auf Beiträge zu antworten.
Es ist Ihnen nicht erlaubt, Anhänge hochzuladen.
Es ist Ihnen nicht erlaubt, Ihre Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks sind an
Pingbacks sind an
Refbacks sind an



Alle Zeitangaben in WEZ +1. Es ist jetzt 22:57 Uhr.

Domains, Webhosting & Vserver von Host Europe
Unterstützt das Flashforum!
Adobe User Group


Copyright ©1999 – 2012 Marc Thiele