Zurück   Flashforum > Flash > ActionScript > ActionScript 1

Antwort
 
LinkBack Themen-Optionen Ansicht
Alt 16-09-2005, 03:08   #1 (permalink)
:Void
 
Benutzerbild von janoshnosh
 
Registriert seit: Jun 2005
Ort: börlin
Beiträge: 931
Thumbs down [MovieClipLoader] 'bytesTotal' geht nur manchmal

hello zur frühen/späten stund,
ich arbeite am preloading von jpg's und stehe gerade hilflos vor dem problem, dass die MovieClipLoader-klasse während onLoadProgress nicht bei allen jpg's "bytesTotal" liefern kann. natürlich geht es bei meinen jpg's nicht, bei manchen anderen, wie dem MM bild aus dem referenz-beispiel, gehts. bei meinen bildern wird jedoch während onLoadProgress nur 0 geliefert, erst mit dem onLoadComplete wird bytesTotal richtig ausgegeben. bytesLoaded geht immer.
hier das script (teil des beispiels der as-referenz):
ActionScript:
  1. var my_mcl:MovieClipLoader = new MovieClipLoader();
  2. var myListener:Object = new Object();
  3. myListener.onLoadStart = function(target_mc:MovieClip) {
  4.   trace("*********First my_mcl instance*********");
  5.   trace("Your load has begun on movie clip = "+target_mc);
  6.   var loadProgress:Object = my_mcl.getProgress(target_mc);
  7.   trace(loadProgress.bytesLoaded+" = bytes loaded at start");
  8.   trace(loadProgress.bytesTotal+" = bytes total at start");
  9. };
  10. myListener.onLoadProgress = function(target_mc:MovieClip, loadedBytes:Number, totalBytes:Number) {
  11.   trace("*********First my_mcl instance Progress*********");
  12.   trace("onLoadProgress() called back on movie clip "+target_mc);
  13.   trace(loadedBytes+" = bytes loaded at progress callback");
  14.   trace(totalBytes+" = bytes total at progress callback");
  15. };
  16. myListener.onLoadComplete = function(target_mc:MovieClip) {
  17.   trace("*********First my_mcl instance*********");
  18.   trace("Your load is done on movie clip = "+target_mc);
  19.   var loadProgress:Object = my_mcl.getProgress(target_mc);
  20.   trace(loadProgress.bytesLoaded+" = bytes loaded at end");
  21.   trace(loadProgress.bytesTotal+" = bytes total at end");
  22. };
  23. myListener.onLoadInit = function(target_mc:MovieClip) {
  24.   trace("*********First my_mcl instance*********");
  25.   trace("Movie clip = "+target_mc+" is now initialized");
  26.   target_mc._width = 100;
  27.   target_mc._height = 100;
  28. };
  29. myListener.onLoadError = function(target_mc:MovieClip, errorCode:String) {
  30.   trace("*********First my_mcl instance*********");
  31.   trace("ERROR CODE = "+errorCode);
  32.   trace("Your load failed on movie clip = "+target_mc+"\n");
  33. };
  34. my_mcl.addListener(myListener);
  35.  
  36. this.createEmptyMovieClip("clip1_mc", this.getNextHighestDepth());
  37. clip1_mc._x = 400;
  38. this.createEmptyMovieClip("clip2_mc", this.getNextHighestDepth());
  39.  
  40. //mit dem bild gibts kein loadedBytes callback während dem onLoadProgress
  41. my_mcl.loadClip("http://www.webspace-kostenlos.com/sonaj/01_themes/00_thumbs/01_bfn03.jpg", clip1_mc);
  42.  
  43. //mit dem gehts:
  44. //my_mcl.loadClip("http://www.macromedia.com/software/drk/images/box_drk5.jpg", clip1_mc);
  45.  

was kann ich tun? ist da was falsch? meine bilder scheinen nicht progressiv zu sein, angezeigt werden sie ja, hab sie sowieso mit photoshop gespeichert. ich habe mittlerweile sehr viel zum problem preloading gelesen, sehr schön z.b. hier, und mache mir da eigentlich wenig hoffnung. aber das problem hier scheint ja eher gering und hat nicht soo viel mit dem eigentlichen loading zu tun, eher mit diversen unterschieden in den bilddateien!?

freue mich auf euch!
gruß janosch
janoshnosh ist offline   Mit Zitat antworten
Alt 16-09-2005, 06:16   #2 (permalink)
flash student
 
Benutzerbild von pixelarts
 
Registriert seit: Apr 2005
Ort: Schweiz, Zürich
Beiträge: 527
Hallo janoshnosh,

Flash MX 2004 kann at runtime nicht alle Jpgs einlesen.
Es gibt jpgs und progressive jpgs. Flash MX 2004 kann nur normale Jpgs lesen.
Der unterschied merkst du, wenn du die Bilder im Browser öffnest. Normale Jpgs erscheint das Bild bruchstückmässig. Progressive Jpgs nehmen von ahnfang an den ganzen Platz an und sind von anfang an ganz sichtbar. Je mehr geladen wird. desto weniger verpixelt ist das bild, bis es ganz geladen ist und in voller Qualität angezeigt wird.

Aber keine Sorge, ab Flash 8 können auch progressive Jpgs geladen werden.
Falls du auf Windows arbeitest, kannste das Bild, welche nicht geht, im Paint öffnen und sogleich abspeichern. Dann gehen auch diese Bilder.
pixelarts ist offline   Mit Zitat antworten
Alt 16-09-2005, 12:07   #3 (permalink)
:Void
 
Benutzerbild von janoshnosh
 
Registriert seit: Jun 2005
Ort: börlin
Beiträge: 931
hi pixelarts,

hörts ich ja gar nicht so schlecht für mich an. wie sehe ich denn direkt in der datei, ob ein JPG progressive ist oder nicht. nach dem, was ich im forum gelesen habe, sehe ich es daran, dass diese bilder dann gar nicht angezeit werden, meine werden doch aber angezeigt. auch habe ich den begriff "gespeichert mit photoshop" immer im zusammenhang mit der aussage "na dann ist eigentlich ok" verstanden - meine sind eben mit photoshop gespeichert, und zwar als "Baseline ("Standard")" -> sollte doch ok sein!?

falls nicht, wie mache ich das mit dem paint und speichern mit 1500 bildern? , gibts da ne gute stapelverarbeitung?

gruß janosch
janoshnosh ist offline   Mit Zitat antworten
Alt 16-09-2005, 12:10   #4 (permalink)
flash student
 
Benutzerbild von pixelarts
 
Registriert seit: Apr 2005
Ort: Schweiz, Zürich
Beiträge: 527
Zitat:
Zitat von janoshnosh
hi pixelarts,

hörts ich ja gar nicht so schlecht für mich an. wie sehe ich denn direkt in der datei, ob ein JPG progressive ist oder nicht. nach dem, was ich im forum gelesen habe, sehe ich es daran, dass diese bilder dann gar nicht angezeit werden, meine werden doch aber angezeigt. auch habe ich den begriff "gespeichert mit photoshop" immer im zusammenhang mit der aussage "na dann ist eigentlich ok" verstanden - meine sind eben mit photoshop gespeichert, und zwar als "Baseline ("Standard")" -> sollte doch ok sein!?

falls nicht, wie mache ich das mit dem paint und speichern mit 1500 bildern? , gibts da ne gute stapelverarbeitung?

gruß janosch

Ja, dumm von mier, progressive Jpgs werden trotzdem geladen... sind schon RGB oder?
pixelarts ist offline   Mit Zitat antworten
Alt 16-09-2005, 12:13   #5 (permalink)
:Void
 
Benutzerbild von janoshnosh
 
Registriert seit: Jun 2005
Ort: börlin
Beiträge: 931
ja rgb und scheinbar nicht progressiv...
kannst ja mal die beiden bilder aus dem beispiel-code ausprobieren: meins zeigt keine loadedbytes während dem progress an (beim complete aber schon), das von macromedia tut es.

gruß janosch

Edit:
definitiv nicht progressiv, das hätte ich ja in photoshop explizit angeben sollen, hab ich aber nicht

Geändert von janoshnosh (16-09-2005 um 12:15 Uhr)
janoshnosh ist offline   Mit Zitat antworten
Alt 16-09-2005, 12:19   #6 (permalink)
................
 
Benutzerbild von Der Frager
 
Registriert seit: Jun 2004
Beiträge: 15.890
Tag!
Tippe mal, es liegt an dem Server, auf dem die Bilder liegen...

edit > Oder auch nicht. Weil so geht's:
ActionScript:
  1. this.createEmptyMovieClip("mc", 1);
  2. this.mc.loadMovie("http://www.webspace-kostenlos.com/sonaj/01_themes/00_thumbs/01_bfn03.jpg");
  3. this.onEnterFrame = function() {
  4.     trace(mc.getBytesLoaded());
  5. };
__________________

ternärer Konditionaloperator

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

Geändert von Der Frager (16-09-2005 um 12:22 Uhr)
Der Frager ist offline   Mit Zitat antworten
Alt 16-09-2005, 12:26   #7 (permalink)
:Void
 
Benutzerbild von janoshnosh
 
Registriert seit: Jun 2005
Ort: börlin
Beiträge: 931
das wäre fatal.

alternativweg: dateigröße zuvor per xml ermitteln? (die pfade und infos hole ich mir sowieso über xml, das wäre dann nur eine kleine änderung).
aber wie verhalten sich die angaben da? wenn da in den windows-dateieigenschaften bei größe: 35833 steht, ist das dann die größe, die flash auch laden würde?

oder gibts einfach nen anderen weg, die totalbytes schon vor dem complete zu erfragen?

gruß janosch
janoshnosh ist offline   Mit Zitat antworten
Alt 16-09-2005, 12:28   #8 (permalink)
:Void
 
Benutzerbild von janoshnosh
 
Registriert seit: Jun 2005
Ort: börlin
Beiträge: 931
@Frager/edit:
ja, loaded geht, aber total nicht:
ActionScript:
  1. this.createEmptyMovieClip("mc", 1);
  2. this.mc.loadMovie("http://www.webspace-kostenlos.com/sonaj/01_themes/00_thumbs/01_bfn03.jpg");
  3. this.onEnterFrame = function() {
  4.         trace(mc.getBytesTotal());
  5. };
janoshnosh ist offline   Mit Zitat antworten
Alt 16-09-2005, 12:46   #9 (permalink)
................
 
Benutzerbild von Der Frager
 
Registriert seit: Jun 2004
Beiträge: 15.890
Doch, total geht auch, aber die Rückgabe ist totaler Schrott. trace Ausgabe:
Code:
0
0
0
-1
-1
-1
-1
-1
35833
35833
35833
35833
35833
Normalerweise wird nur dann -1 zurückgegeben, wenn die Datei nicht vorhanden ist. Hier wird während des Ladevorgangs aber immer -1 zurückgeliefert. Liegt wohl doch irgendwie am Server...
__________________

ternärer Konditionaloperator

+++ Bitte keine Privat-Nachrichten bezüglich Flashfragen! +++
Der Frager ist offline   Mit Zitat antworten
Alt 16-09-2005, 13:03   #10 (permalink)
:Void
 
Benutzerbild von janoshnosh
 
Registriert seit: Jun 2005
Ort: börlin
Beiträge: 931
Zitat:
Zitat von Der Frager
Liegt wohl doch irgendwie am Server...
genau liegt wohl daran
hab ich gestern eigens für diese zwecke erstanden, und das ist nun der dank dafür .

naja, whatever, mach ich's halt ürjendwie anders....
danke für den support
gruß janosch
janoshnosh 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 01:38 Uhr.

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


Copyright ©1999 – 2012 Marc Thiele