Zurück   Flashforum > Flash > ActionScript > ActionScript 1

Antwort
 
LinkBack Themen-Optionen Ansicht
Alt 17-06-2005, 17:05   #1 (permalink)
Flash addicted
 
Benutzerbild von pejot
 
Registriert seit: Apr 2004
Ort: Luxembourg-Trier-Berlin
Beiträge: 486
Preloader funktioniert offline, jedoch nicht online

Jaja ich weiß, das leidige Thema Preloader.
Aber ich komme einfach nicht weiter. Wenn ich das Script offline in der Download-Simulation teste funktioniert es einwandfrei.
Doch gerade habe ich es online getestet und da sehe ich den Preloader für den Bruchteil einer Sekunde, bevor er wieder verschwindet.

hier zum anschauen

mein Script:

ActionScript:
  1. var zielfilm = "bilder/bild1.jpg";
  2.          var startx = 290 ;
  3.          var starty = 190 ;
  4.          var breite = 250;
  5.          var hoehe = 10;
  6.          var farbe = 0x3399CC;
  7.          var alpha = 100;
  8.     var textfarbe = 0x3399CC;
  9.     var schriftart = "Verdana";
  10.     var schriftgroesse = 10;
  11.          var schriftfett = 1;
  12.     var schriftkursiv = 0;
  13.     var schriftunterstrichen = 0;
  14.     var textausrichtung = "left";
  15.     //
  16.          _root.createEmptyMovieClip("ziel", 2);
  17.          _root.ziel._x = 10;
  18.          _root.ziel._y = 10;
  19.          _root.ziel.loadMovie(zielfilm);
  20.     //
  21.          _root.createEmptyMovieClip("balken_mc",1);
  22.        balken_mc._x = startx;
  23.        balken_mc._y = starty;
  24.        with(balken_mc){
  25.        beginFill(farbe,alpha);
  26.        lineTo(0,hoehe);
  27.        lineTo(breite,hoehe);
  28.        lineTo(breite,0);   
  29.        lineTo(0,0);
  30.        endFill();
  31.        };
  32.           for(var i = 1;i <= 5;i++){
  33.           _root.createTextField("anzeige"+i,20+i,startx,starty+(20*i),300,20);
  34.                   anzeigeformat = new TextFormat();
  35.         anzeigeformat.color = textfarbe;
  36.         anzeigeformat.font = schriftart;
  37.         anzeigeformat.size = schriftgroesse;
  38.         anzeigeformat.bold = schriftfett;
  39.         anzeigeformat.italic = schriftkursiv;
  40.         anzeigeformat.underline = schriftunterstrichen;
  41.         anzeigeformat.align = textausrichtung;
  42.         }
  43.           _root.onEnterFrame = function(){
  44.          var t = _root.ziel.getBytesTotal();
  45.          var g = _root.ziel.getBytesLoaded();
  46.          var st = getTimer();
  47.          var rt = Math.round((st-at)/1000);
  48.          var et = Math.round((t*rt)/g);
  49.          var ct = Math.round(-(rt-et));
  50.          if(g == t){ 
  51.         for(var i = 1;i <= 5;i++){
  52.           _root["anzeige"+i].removeTextField();
  53.         }
  54.         balken_mc.clear();
  55.         delete this.onEnterFrame;
  56.           }
  57.          else {var a = (g/t)*100;
  58.         anzeige1.text = "Es wurden "+Math.round(g/1024)+" Kb von "+Math.round(t/1024)+" Kb geladen";
  59.         anzeige1.setTextFormat(anzeigeformat);
  60.         anzeige2.text = "Das sind nach Adam Riese "+Math.round(a)+" %";
  61.         anzeige2.setTextFormat(anzeigeformat);
  62.         anzeige3.text = "Die abgelaufene Zeit beträgt "+rt+" Sekunden";
  63.         anzeige3.setTextFormat(anzeigeformat);
  64.         anzeige4.text = "Sie müssen sich noch ca. "+ct+" Sekunden gedulden";
  65.         anzeige4.setTextFormat(anzeigeformat);
  66.         balken_mc._xscale = a;
  67.        }
  68.  
  69.  };

Wär schön, wenn mir jemand helfen könnte.


Gruß PeJot
__________________
… wortkarge Signatur
pejot ist offline   Mit Zitat antworten
Alt 17-06-2005, 17:10   #2 (permalink)
................
 
Benutzerbild von Der Frager
 
Registriert seit: Jun 2004
Beiträge: 15.890
Hallo!
Geht doch? Wenn das Bild natürlich im Browser-Cache ist, dann erscheint der Preloader auch nur kurz. Is ja klar

edit: Sonst vielleicht noch das hier ergänzen:
ActionScript:
  1. if(g >= t && g > 10)
__________________

ternärer Konditionaloperator

+++ Bitte keine Privat-Nachrichten bezüglich Flashfragen! +++

Geändert von Der Frager (17-06-2005 um 17:15 Uhr)
Der Frager ist offline   Mit Zitat antworten
Alt 17-06-2005, 17:15   #3 (permalink)
Neuer User
 
Registriert seit: Nov 2004
Beiträge: 52
hmm, bei mir ging der preloader auch nicht.
aber änder doch mal die stelle hier:

if(g == t){

in

if(g == t && g>50){
bboy ist offline   Mit Zitat antworten
Alt 17-06-2005, 17:17   #4 (permalink)
Flash addicted
 
Benutzerbild von pejot
 
Registriert seit: Apr 2004
Ort: Luxembourg-Trier-Berlin
Beiträge: 486
Hatte es schon aus dem Cache geschmissen. Beim ersten Testen funktionierte es auch schon nicht, obwohl ich zur Zeit hier ne perfekte Entwicklungsumgebung habe (56 k).
Bei mir blitzt der Loader kurz auf, dann dauerts rund 25 Sekunden bis das Bild erscheint.


Hmm …
__________________
… wortkarge Signatur
pejot ist offline   Mit Zitat antworten
Alt 17-06-2005, 17:22   #5 (permalink)
................
 
Benutzerbild von Der Frager
 
Registriert seit: Jun 2004
Beiträge: 15.890
Dann ersetz mal deine if-Abfrage wie im edit (oder von bboy) beschrieben... Sollte dann klappen.

edit: 56k ---> Retro!
__________________

ternärer Konditionaloperator

+++ Bitte keine Privat-Nachrichten bezüglich Flashfragen! +++
Der Frager ist offline   Mit Zitat antworten
Alt 17-06-2005, 17:23   #6 (permalink)
Flash addicted
 
Benutzerbild von pejot
 
Registriert seit: Apr 2004
Ort: Luxembourg-Trier-Berlin
Beiträge: 486
Zitat:
Zitat von bboy
hmm, bei mir ging der preloader auch nicht.
aber änder doch mal die stelle hier:

if(g == t){

in

if(g == t && g>50){
Super jetzt funktionierts. Ausser das vor dem Ladevorgang der Loader kurz auf 100% steht aber das bekomme ich schon in den Griff.

Vielen Dank schon mal für die schnelle Hilfe.


Kleine Frage noch: Was hat es mit den Gesamtbytes größer als 50 eigentlich auf sich? Will ja nicht dumm sterben.

Gruß PeJot


Zitat:
Zitat von Der Frager
Dann ersetz mal deine if-Abfrage wie im edit (oder von bboy) beschrieben... Sollte dann klappen.

edit: 56k ---> Retro!
Ich weiß. Wohn hier momentan nur zu Zwischenmiete, da lohnt sich ne dicke Leitung nicht.
__________________
… wortkarge Signatur

Geändert von pejot (17-06-2005 um 17:25 Uhr)
pejot ist offline   Mit Zitat antworten
Alt 17-06-2005, 17:35   #7 (permalink)
Neuer User
 
Registriert seit: Nov 2004
Beiträge: 52
solange der browser noch keine verbindung zu der datei aufgebaut hat ist getBytesTotal() und getBytesLoaded() noch nicht definiert (oder 0?).

größer als 50 hab ich jetzt eher beliebig gewählt, da reichen wahrscheinlich auch viel weniger, aber mehr als 50 bytes hat ja wahrscheinlich alles was man extern laden will...

und probier mal
var t = _root.ziel.getBytesTotal() || 1;
var g = _root.ziel.getBytesLoaded() || 0;

dann sollte der preloader 0 anzeigen, solange noch nichts geladen ist. hab ich jetzt aber jetzt nicht getestet, ist nur so ne idee.
bboy ist offline   Mit Zitat antworten
Alt 17-06-2005, 17:43   #8 (permalink)
Flash addicted
 
Benutzerbild von pejot
 
Registriert seit: Apr 2004
Ort: Luxembourg-Trier-Berlin
Beiträge: 486
Ahso, gut zu wissen; klingt sehr plausibel.
Vielen Dank nochmal.


Gruß PeJot
__________________
… wortkarge Signatur
pejot 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 03:39 Uhr.

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


Copyright ©1999 – 2012 Marc Thiele