Zurück   Flashforum > Flash > ActionScript > ActionScript 1

Antwort
 
LinkBack Themen-Optionen Ansicht
Alt 31-07-2009, 20:20   #1 (permalink)
Neuer User
 
Registriert seit: Apr 2004
Beiträge: 51
Preloader spielt verrückt

Hi Leute,

ich bin schon seit Tagen dabei einen Preloader für über XML geladene Bilder zu machen. Irgendwie funktioniert es noch nicht richtig. Es ist so dass die Bilder sporadisch richtig und nacheinander geladen werden. Oft ist es auch so dass mal alles Richtig läuft. Aber warum nur ab und zu?

Link zum Flash
http://demo.agentur-eigensinn.at/fl/...ullscreen5.swf

Link zu eine Ladevorgang
http://demo.agentur-eigensinn.at/fl/screen1.JPG

und
http://demo.agentur-eigensinn.at/fl/screen1.JPG


Es wär toll wenn Ihr mir helfen könntest. Weiss nicht was ich noch probieren kann.

Mongospliff ist offline   Mit Zitat antworten
Alt 31-07-2009, 21:44   #2 (permalink)
Euer Nuser
 
Benutzerbild von ~pyropete~
 
Registriert seit: Apr 2004
Ort: Sand-City
Beiträge: 3.483
Der Preloader hängt das erste Mal bei ~90%.
Bei Refresh ist dann alles fein.

Kannst mal nen Code zum Bilderladen posten?
~pyropete~ ist offline   Mit Zitat antworten
Alt 31-07-2009, 22:31   #3 (permalink)
Neuer User
 
Registriert seit: Apr 2004
Beiträge: 51
hier bitte:

solltest du mehr benötigen, sag mir bitte Bescheid.

PHP-Code:
        trace("*************************");
    
trace("S T A R T   P R E L O A D");
    
trace("*************************");
    
    
// Preloader Function
    
onEnterFrame = function () {
        
        
totalyLoaded 0;
        
        
// Bytes von Standard Bild
        
geladenStdBild Math.round(mcBackground"mcImage" ].getBytesLoaded()/1024); // in KB umrechnen
        
zuladenStdBild Math.round(mcBackground"mcImage" ].getBytesTotal()/1024);
        
        
// Bytes von allen anderen Bilder
        
for(0XMLdaten_bild.lengthi++){
            
//_root.debuging2 = i+" / "+XMLdaten_bild.length;
            
geladen Math.round(mcBackground"mcImage" ].getBytesLoaded()/1024);
            
zuladen Math.round(mcBackground"mcImage" ].getBytesTotal()/1024);
            
            if(
zuladen && zuladenArray.length XMLdaten_bild.length)
            {
                
zuladenArray.push(zuladen);
                
totalyBytes += zuladenArray[i]; 
                
_root.debuging3 += totalyBytes+" kb - "+zuladenArray[i]+" Bild "+XMLdaten_bild[i]+"\n";
                
            } 
// if end
            
if( geladen )
            {
            
geladenArray[i] = geladen;
            
totalyLoaded += geladenArray[i];
            
//_root.debuging2 = totalyLoaded+"\n";
            
}
        } 
// for end
        
        // Bytes von Standard Bild zu anderen Bilder dazurechnen
        
if(zuladenStdBild && zuladenArray.length == XMLdaten_bild.length)
        {
            
zuladenArray.push(zuladenStdBild);
            
totalyBytes += zuladenArrayzuladenArray.length-];
            
_root.debuging3 += totalyBytes+" kb - "+zuladenArrayzuladenArray.length-]+" Bild "+XMLdaten_standardbild+"\n";
            
//_root.debuging3 += totalyBytes+"\n";
            
        
// if end
        
        //_root.debuging2 += totalyLoaded+"\n";
        
if( geladenStdBild )
        {
        
totalyLoaded += geladenStdBild;
        
//_root.debuging2 += totalyLoaded+"\n";
        
}
        
// Anzeige // Preloader
        
if( totalyLoaded )
        {
            
//trace("Bytes geladen: "+totalyLoaded+" von "+totalyBytes+" kb ( "+Math.round(totalyLoaded/totalyBytes*100)+"% )" );
            
_root.debuging "Bytes geladen: "+totalyLoaded+" von "+totalyBytes+" kb ( "+Math.round(totalyLoaded/totalyBytes*100)+"% )";
            
//trace(" ------------------------------------------ ");
        
            
if ( totalyLoaded <= totalyBytes ) {
                
                
prozent Math.round(totalyLoaded/totalyBytes*100);
                
                
_root.mcPreloader.mcPreloaderProzent.prozentAnzeige prozent "%";
                
_root.mcPreloader.mcPreloaderProzent._x = ((1600/100)*prozent) - 22;
                
_root.mcPreloader.mcPreloaderLineMask._width = (1600/100)*prozent;
                
                if ( 
prozent >= 100 
                {
                    
ZigoEngine.doTween({target_root.mcPreloaderalpha0ease"easeInOutSine"});
                    
_root.mcPreloader.mcPreloaderProzent.prozentAnzeige "";
                    
                    
trace("Alle Bilder sind geladen.");
                    
delete onEnterFrame;
                }
            
            } 
// if end
        
        
// if end
        
    
// enterFrame end

Mongospliff ist offline   Mit Zitat antworten
Alt 03-08-2009, 13:09   #4 (permalink)
Neuer User
 
Registriert seit: Apr 2004
Beiträge: 51
hat keiner eine Idee warum das Flash so komisch lädt??
Mongospliff ist offline   Mit Zitat antworten
Alt 03-08-2009, 13:16   #5 (permalink)
................
 
Benutzerbild von Der Frager
 
Registriert seit: Jun 2004
Beiträge: 15.890
Grundsätzlich solltest du immer sicher gehen, dass bei den Werten nicht "NaN" rauskommt.
Also z.B. hier
PHP-Code:
geladen Math.round(mcBackground"mcImage" ].getBytesLoaded()/1024); 
könnten das halt passieren.
Du kannst entweder anstelle von Math.round() int() benutzen, oder das so schreiben:
PHP-Code:
geladen Math.round(mcBackground"mcImage" ].getBytesLoaded()/1024) || 0//das || 0 sorgt dafür, dass geladen 0 zugewiesen wird, wenn's sonst NaN oder undefined wäre 
edit: Ansonsen vielleicht mal ein (nicht) funktionierendes Beispiel (inkl. Bilder etc.) zum Testen posten.
__________________

ternärer Konditionaloperator

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

Geändert von Der Frager (03-08-2009 um 13:20 Uhr)
Der Frager ist offline   Mit Zitat antworten
Alt 03-08-2009, 13:48   #6 (permalink)
brand new user
 
Benutzerbild von RustyCake
 
Registriert seit: May 2002
Ort: Laimbach 6 1/2
Beiträge: 16.884
PHP-Code:
onEnterFrame = function () {
        
        
totalyLoaded 0

Das scheint mir merkwürdig, da weiter unten damit vergleiche angestellt werden, des Ding aber immerwieder auf "0" gesetzt wird!
__________________
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 03-08-2009, 14:39   #7 (permalink)
Neuer User
 
Registriert seit: Apr 2004
Beiträge: 51
totalyLoaded = 0;

benötige ich damit das zusammenzählen der bereits geladenen Bytes nicht zu oft gerechnet wird.

es wird jedes mal beim Durchlaufen der Bilder die bereits geladenen Bytes neu gelesen und zusammengezählt damit ich immer die aktuelle Prozentzahl des gesamten errechnen kann.
PHP-Code:
geladen Math.round(mcBackground"mcImage" ].getBytesLoaded()/1024);

geladenArray[i] = geladen;
totalyLoaded += geladenArray[i]; 
Wenn ich nicht wieder auf null stelle dann wird immer dazu gerechnet was mir das Ergebnis verfälscht.
Mongospliff ist offline   Mit Zitat antworten
Alt 03-08-2009, 14:55   #8 (permalink)
brand new user
 
Benutzerbild von RustyCake
 
Registriert seit: May 2002
Ort: Laimbach 6 1/2
Beiträge: 16.884
Der wird bei jedem "EnterFrame" auf null gestellt!!
__________________
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 03-08-2009, 16:02   #9 (permalink)
Neuer User
 
Registriert seit: Apr 2004
Beiträge: 51
ja. und dann erneut zusammengzählt.

z.b.

Runde 1

PHP-Code:
var = 0;

Bild1 0 kb geladen;
Bild0 0 kb geladen;

var = 
Bild1 Bild2;

// ergebnis
var = 0 kb 

Runde 2

PHP-Code:
var = 0;

Bild1 100 kb geladen;
Bild0 200 kb geladen;

var = 
Bild1 Bild2;

// ergebnis
var = 300 kb 
Runde 2

PHP-Code:
var = 0;

Bild1 350 kb geladen;
Bild0 400 kb geladen;

var = 
Bild1 Bild2;

// ergebnis
var = 750 kb 
würde ich kein "var = 0" setzten

dann würde nach der 3. Runde das Ergebnis so aussehen:

var = 1050 (was ja nicht stimmt)


Sollte ich das überhaupt anders an gehn??
Mongospliff ist offline   Mit Zitat antworten
Alt 03-08-2009, 20:34   #10 (permalink)
brand new user
 
Benutzerbild von RustyCake
 
Registriert seit: May 2002
Ort: Laimbach 6 1/2
Beiträge: 16.884
Zitat:
Zitat von Mongospliff Beitrag anzeigen
Sollte ich das überhaupt anders an gehn??
Dev. Ja.
__________________
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 17-08-2009, 17:58   #11 (permalink)
Neuer User
 
Registriert seit: Apr 2004
Beiträge: 51
Danke, aber hast du zu deinem Dv. Ja evtl. auch einen Vorschlag?!

Dafür wäre ich dir sehr dankbar.

Gruss
Mongospliff ist offline   Mit Zitat antworten
Alt 18-08-2009, 14:05   #12 (permalink)
brand new user
 
Benutzerbild von RustyCake
 
Registriert seit: May 2002
Ort: Laimbach 6 1/2
Beiträge: 16.884
Hab hier schon über 1000 post's allein zum thema loader, da wird sicher auch für Dich dabei sein.
Oder Du beschreibst mal kurz was Du genau brauchst, konnte nach obigem nicht 100 % feststellen, was Du brauchst.
Dann schau ich ob ich in meiner Schatztruhe noch sowas rumliegen hab
__________________
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
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:49 Uhr.

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


Copyright ©1999 – 2012 Marc Thiele