Zurück   Flashforum > Flash > ActionScript > ActionScript 1

Antwort
 
LinkBack Themen-Optionen Ansicht
Alt 24-05-2005, 13:37   #1 (permalink)
Neuer User
 
Registriert seit: Aug 2004
Beiträge: 54
eigener preloader hat einen fehler

ich hab hier im forum einige beiträge über preloader gelesen und wollte jetzt selber einen machen. soweit geht es ja, aber da wo die zahlen stehen sollten steht "NaN" was hat das zu bedeuten?
hier das script zum preloader

ActionScript:
  1. ProzentAusgabe = Math.round((_root.getBytesLoaded()/_root.getBytesTotal())*100);
  2. insgesamt = (int.Math.round((_root.getBytesTotal())/10.24))/100;
  3. geladen = (int.Math.round((_root.getBytesLoaded())/10.24))/100;
  4.  
  5. if (balken._currentframe<ProzentAusgabe) {
  6.     balken.play();
  7. } else {
  8.     balken.stop();
  9. }
  10. if (_root.getBytesLoaded() == _root.getBytesTotal()) {
  11.     _root.gotoAndStop (3);
  12. }
  13. verbleibend = insgesamt-geladen+" kB";
  14. insgesamt = insgesamt+" kB";
  15. geladen = geladen+" kB";
  16. ProzentAusgabe = ProzentAusgabe + " %";
die-maus ist offline   Mit Zitat antworten
Alt 24-05-2005, 15:21   #2 (permalink)
HAY
Neuer User
 
Benutzerbild von HAY
 
Registriert seit: Aug 2002
Ort: Faust-Stadt
Beiträge: 2.577
hi
für NaN „Not A Number“ keine Zahl

das int. kannst du auch weglassen !!!
schau mal in die flash hilfe.
klammern richti setzen sonst bringt round nichts.
geladen = Math.round(_root.getBytesLoaded()/10.24/100);
__________________
gruß Harry

Geändert von HAY (24-05-2005 um 15:25 Uhr)
HAY ist offline   Mit Zitat antworten
Alt 24-05-2005, 15:41   #3 (permalink)
Neuer User
 
Registriert seit: Aug 2004
Beiträge: 54
ok, der preloader geht jetzt.
danke

aber noch eine frage

Wenn ich eine externe swf über diese Script

ActionScript:
  1. pfad.attachMovie("halter", "container", 1);
  2. container.loadMovie("nacht3.swf");
  3. container._x = -299;
  4. container._y = -119;

reinlade, dann wird der Preloader nicht angeizeigt. Liegt das dann daran, dass ich über container lade?
die-maus ist offline   Mit Zitat antworten
Alt 24-05-2005, 16:35   #4 (permalink)
100% Dreierquote
 
Benutzerbild von AneBanane
 
Registriert seit: Aug 2001
Ort: Weltstadt Kiel
Beiträge: 1.273
dann musst du in den zu ladenden film
den preloader packen ...
AneBanane ist offline   Mit Zitat antworten
Alt 24-05-2005, 20:59   #5 (permalink)
Neuer User
 
Registriert seit: Aug 2004
Beiträge: 54
wenn ich in den film den preloader mit reinpacke, dann geht es auch nicht.

dann läd er doch erst den film mit preloader und dann wird mir der preloader ab 97% angezeigt.

gibt es da noch eine möglichkeit?
die-maus ist offline   Mit Zitat antworten
Alt 25-05-2005, 00:41   #6 (permalink)
brand new user
 
Benutzerbild von RustyCake
 
Registriert seit: May 2002
Ort: Laimbach 6 1/2
Beiträge: 16.884
Wäre sicher hilfreich, wenn Du ein wenig mehr über den Aufbau Deines Projekts erzählen würdest
BTW! wenn Du eine Loader in einen eingeladenen Film packst, muß es "this.getBytesLoaded" statt "_root.getBytesLoaded" heissen
__________________
Bitte keine Fragen, zu Flash per PM. Dazu ist das Forum da. Danke MFG_RustyCake!
"Wer tanzen will, muß erst gehen lernen"

Geändert von RustyCake (25-05-2005 um 00:45 Uhr)
RustyCake ist offline   Mit Zitat antworten
Alt 25-05-2005, 10:47   #7 (permalink)
Neuer User
 
Registriert seit: Aug 2004
Beiträge: 54
Ich bin dabei von einer normalen Homepage eine Bildergallerie ( Bilder Scrollbar ) zu erstellen.
Da die mit den Bildern alles viel zu gross wird will ich die einzelnen Kategorien der Bilder nachladen was auch alles klappt. Jede Kategorie hat ca 200 - 300 KB es sind bisher 8 Kategorien da kommen wir nur mit Bilder auf ca. 2 MB plus ca. 255 KB die Eigentliche Homepage. Deshalb Lade ich die Bilder nach.
Es klappt eigentlich alles so wie ich es will, bis auf den Preloader der nachzuladenden Bilder.

Hab jetzt mal ein Bildauszug gemacht.
zu Nr. 1:
hier liegt dieses Script des preloaders
ActionScript:
  1. ProzentAusgabe = Math.round((this.getBytesLoaded()/this.getBytesTotal())*100);
  2. insgesamt = Math.round(this.getBytesTotal()/10.24/100);
  3. geladen = Math.round(this.getBytesLoaded()/10.24/100);
  4.  
  5. if (balken._currentframe<ProzentAusgabe) {
  6.     balken.play();
  7. } else {
  8.     balken.stop();
  9. }
  10. if (this.getBytesLoaded() == this.getBytesTotal()) {
  11.     gotoAndStop (3);
  12. }
  13. ProzentAusgabe = ProzentAusgabe + " %";
  14. insgesamt = insgesamt+" kB";
  15. geladen = geladen+" kB";

zu Nr. 2:
dieses AS
ActionScript:
  1. gotoAndPlay (1);

zu Nr.3:
hier liegt die Bildergallerie und in der zeitleiste ein stop();

zu Nr. 4:
hier liegen die Dynamischen Textfelder und der MC des Ladebalkens
Angehängte Grafiken
Dateityp: gif neu.gif (12,6 KB, 14x aufgerufen)
die-maus ist offline   Mit Zitat antworten
Alt 25-05-2005, 11:38   #8 (permalink)
Neuer User
 
Benutzerbild von derschatten-nrw
 
Registriert seit: May 2003
Ort: Düsseldorf
Beiträge: 381
Hallo,

Schon mal daran gedacht die Klasse MovieClipLoader zu benutzen ? Damit könntest du alle Bilder laden die du brauchst und der Preload der einzelnen Bilder wäre auch vorhanden
derschatten-nrw ist offline   Mit Zitat antworten
Alt 25-05-2005, 15:21   #9 (permalink)
Neuer User
 
Registriert seit: Aug 2004
Beiträge: 54
OK, ich werde es jetzt anderst machen...

ich lade in meiner start.swf im ersten frame über loadmovie meine ganzen bildergallerien und setzte visible=0 und in der zeit bis sich der user die bilder anschaut dürften die alle da sein. Denke ich.
Wenn alerdings jemand einen besseren vorschlag hat, dann raus damit.

Werds mal ausprobieren.

Geändert von die-maus (25-05-2005 um 15:23 Uhr)
die-maus ist offline   Mit Zitat antworten
Alt 25-05-2005, 16:44   #10 (permalink)
Neuer User
 
Benutzerbild von derschatten-nrw
 
Registriert seit: May 2003
Ort: Düsseldorf
Beiträge: 381
/me würde ne XML Datei machen, da alle Bilder Namen + Pfad rein...Xml Datei verarbeiten, daraus ergibt sich die Anzahl der Bilder die tatsächlich vorhanden sind, jetzt einen MovieClipLoader einrichten der halt einfach bei on press das Bildchen lädt das dran ist. Wie gesagt nur ein Beispiel !
derschatten-nrw ist offline   Mit Zitat antworten
Alt 26-05-2005, 13:49   #11 (permalink)
Neuer User
 
Registriert seit: Aug 2004
Beiträge: 54
klappt nicht so ganz wie ich mir das vorgestellt habe.

wenn ich in jeder gallerie im ersten frame ein stop setze und kein bild drin habe und die gallerie dann erst im 2. frame anfängt dann müsste es doch gehen wenn ich alle gallerien nacheinander lade ohne dass es die besucher sehen.

ich dachte mir das so

loadMovieNum("gallerie1.swf", 1);
if gallerie1 geladen
loadMovieNum("gallerie2.swf", 1);

wie müsste dazu das script aussehen?

und später lade ich die gallerie so

loadMovieNum("gallerie1.swf", 2);
die-maus ist offline   Mit Zitat antworten
Alt 27-05-2005, 14:11   #12 (permalink)
Neuer User
 
Benutzerbild von derschatten-nrw
 
Registriert seit: May 2003
Ort: Düsseldorf
Beiträge: 381
Ziemlich kompliziert das ganze...Schau dir doch mal in der Referenz die Klasse "MovieClipLoader" an...die enthält auch Beispiele wie man die Klasse einsetzt, ich finde einfach das die MovieClipLoader Klasse zu deinem Projekt am besten passt, weil du da einfach auch einen Listener einrichten kannst, der dir genau sagt, Aha Swf ist geladen, so nun die nächste Datei. Vor allen Dingen weil du damit den Preloading Vorgang am besten überwachen kannst.

Ist halt meine Meinung, da du ja movie1 laden willst, wenn fertig lade Movie 2

ActionScript:
  1. mein_movie = new MovieClipLoader();
  2. mein_obj = new Object();
  3. mein_movie.addListener(mein_obj);
  4. //** Hier müsstest du jetzt ein Funktion schreiben die ausgeführt wird und di e die einzelnen Swf`s lädt **//
  5. mein_movie.loadClip("ftv.swf", drop_examples);

Geändert von derschatten-nrw (27-05-2005 um 14:24 Uhr)
derschatten-nrw ist offline   Mit Zitat antworten
Alt 29-05-2005, 18:58   #13 (permalink)
Neuer User
 
Registriert seit: Aug 2004
Beiträge: 54
ich steig da jetzt nicht durch, kann sich das jetzt mal jemand anschauen?
habe das ganze material aufm server gepackt

preloader.zip

Geändert von die-maus (29-05-2005 um 19:04 Uhr)
die-maus ist offline   Mit Zitat antworten
Alt 30-05-2005, 01:09   #14 (permalink)
brand new user
 
Benutzerbild von RustyCake
 
Registriert seit: May 2002
Ort: Laimbach 6 1/2
Beiträge: 16.884
in Deiner BSP-Datei war "loadMovieNum("nacht1.swf", 0)" des ist keine so gute Idee!
Damit kickst Du Deinen Kompletten Film (Navie etc)
Hab Dir deine preloader_nacht eiin wenig hingebogen, ladebalken und die textfelder sind in einem eigenen mc untergebracht
PHP-Code:
this.createEmptyMovieClip("platzhalter"1);
this.createEmptyMovieClip("control"111);
platzhalter.loadMovie("nacht1.swf");
platzhalter._y 2800;
platzhalter.stop();
this.control.onEnterFrame = function() {
    var 
tp_pl this._parent.platzhalter;
    var 
tp_la this._parent.lade_animation;
    var 
by_gl tp_pl.getBytesLoaded();
    var 
by_gs tp_pl.getBytesTotal();
    var 
by_pr Math.ceil((by_gl/by_gs)*100);
    
by_pr<=tp_la.ProzentAusgabe="0 %" tp_la.ProzentAusgabe=by_pr+" %";
    
by_gl<=tp_la.geladen="0 kB" tp_la.geladen=Math.ceil(by_gl/1024)+" kB";
    
tp_la.insgesamt Math.ceil(by_gs/1024)+" kB";
    
tp_la.ladebalken.gotoAndStop(by_pr);
    if (
by_gl>=by_gs && by_gl>4) {
        
trace("Fertig geladen!");
        
removeMovieClip(tp_pl);
        
unloadMovie(tp_la);
        
removeMovieClip(this);
        
loadMovieNum("nacht1.swf"1);
    }
}; 
__________________
Bitte keine Fragen, zu Flash per PM. Dazu ist das Forum da. Danke MFG_RustyCake!
"Wer tanzen will, muß erst gehen lernen"
RustyCake ist offline   Mit Zitat antworten
Alt 30-05-2005, 20:54   #15 (permalink)
Neuer User
 
Registriert seit: Aug 2004
Beiträge: 54
danke das du dir die mühe gemacht hast.

allerdings geht das mir nicht so richtig.

wenn ich es online teste, dann wird keine % sowie kb gesamt und geladen angezeigt.

der ladebalken geht zwar, aber wiederholt sich immer.

könnte ich dich bitten das in zip abzuändern und mir per e-mail zu schicken oder zum dl anzubieten?
die-maus ist offline   Mit Zitat antworten
Antwort

Lesezeichen

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 06:36 Uhr.

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


Copyright ©1999 – 2012 Marc Thiele