Zurück   Flashforum > Flash > ActionScript > ActionScript 1

Antwort
 
LinkBack Themen-Optionen Ansicht
Alt 31-07-2005, 18:55   #1 (permalink)
Neuer User
 
Registriert seit: May 2005
Beiträge: 74
wieder xml preloader probelm

hallo zusammen...

ja ich weiss, wieder mal preloader, aber dieser hier treibt mich echt in den wahnsinn, also bitte habt nachsicht...

ich lade bilder via xml in verschiede MC, die alle wiederrum in einem container MC stehen. nun will ich aber all diese bilder preloaden und den ladestatus aller bilder mit einem preloader darstellen. also, erst wenn alle bilder geladen sind, ist der ladebalken auf 100%...

irgendwie hab ich da ein brett vor dem kopf, ich komm hier echt nicht weiter. ich hab einen preloader prototype:

PHP-Code:
 MovieClip.prototype.preload = function(targClip) {
    
this.onEnterFrame = function() {
        
bTotal targClip.getBytesTotal();
        
bLoaded targClip.getBytesLoaded();
       
_root.bar._xscale = (bLoaded /bTotal )*100
        
if (bLoaded>=bTotal && bTotal>=18) {
            
delete this.onEnterFrame;
            
//geh und mach was auch immer
            
}
        }
    };
}; 
und den rufe ich in der schlaufe auf, mit der ich die bilder lade:

PHP-Code:
 folioObj = new XML();
folioObj.ignoreWhite true;
folioObj.onLoad = function(success) {
    
rootNode this.firstChild;
    
firstNode rootNode.firstChild;
    
secondNode firstNode.nextSibling;
    
_global.totalNodes firstNode.childNodes.length;
    if (
success) {
        for (var 
0i<totalNodesi++) {
            
_global.projectFiles[i] = firstNode.childNodes[i].attributes.file;
            
thumbNails _root.cont.attachMovie("mainLoader""mainLoader"+ii+1);
            
thumbNails.image.loadMovie(projectFiles[i]);
            
thumbNails.preload(thumbNails.image);
        }
    }

und das klappt auch wunderbar, bzw macht das was es machen soll, nämlich den status von jedem einzelnen bild anzeigen...aber wie krieg ich den dazu, mir den gesamten ladestatus anzuzeigen???

vielleicht noch zur ergänzung, mein preloader steht im ersten frame, zusammen mit dem script fürs xml & den container für die bilder MC. im 2. frame stehen die Clips die in der bibliothek verlinkt sind, im dritten ist dann der ganze rest.

Geändert von miniMeSam (31-07-2005 um 22:51 Uhr)
miniMeSam ist offline   Mit Zitat antworten
Alt 01-08-2005, 09:57   #2 (permalink)
agedoubleju
Gast
 
Beiträge: n/a
Für mehrere nachzuladende Filme musst du die Gesamtzahl an zu ladenden Bytes natürlich vorher händisch ermitteln und in dein Script einsetzen...
  Mit Zitat antworten
Alt 01-08-2005, 19:26   #3 (permalink)
Neuer User
 
Registriert seit: May 2005
Beiträge: 74
ja, das ist mir klar, aber wie mach ich denn das?? ich kann das nicht hardcoden (mc1.getBytesTotal() + mc2..getBytesTotal()...) denn so verliere ich die vorteile vom xml, sprich das ergänzen der inhalte ohne das flashfile anzufassen...

hmmm gibts denn da überhaupt einen weg?? bin echt am verzwiefeln....H:I:L:F:E, bitte
miniMeSam ist offline   Mit Zitat antworten
Alt 01-08-2005, 20:54   #4 (permalink)
agedoubleju
Gast
 
Beiträge: n/a
Wie geschrieben: vor Erstellen des Scriptes ermitteln und die Gesamtzahl der Bytes als Variable für die Dreisatz-Berechnung einsetzen...
  Mit Zitat antworten
Alt 01-08-2005, 21:02   #5 (permalink)
Neuer User
 
Registriert seit: May 2005
Beiträge: 74
ja, das ist mir klar, mein porblem ist, dass ich keine ahnung habe wie ich die getBytesTotal() von allen bildern zusammen ermittle. egal wie ich es drehe oder wende, ich erhalte immer nur die totale der einzelnen bilder und ich schaffe es einfach nicht diese zusammenzuzählen...

soweit bin ich mal, das klappt lokal sehr gut, doch vom server aus klappt das gar nicht ...

PHP-Code:
totalBytes = [];
_global.total 0;
preloader.onEnterFrame = function() {
    for (var 
0i<11i++) {
        
_root.cont["mainLoader"+i].image.getBytesTotal();
        if (
t>=18) {
            
delete this.onEnterFrame;
            
totalBytes[i] = t;
            
total += totalBytes[i];
            
trace(total);
        }
    }
}; 
miniMeSam ist offline   Mit Zitat antworten
Alt 01-08-2005, 21:58   #6 (permalink)
Neuer User
 
Registriert seit: May 2005
Beiträge: 74
kann es vielleicht sein, dass flash erst weiss wie gross die bilder sind nachdem er sie geladen hat? (das heisst, nur wenn der film vom server aus spielt, lokal nicht)

?.?.?.?

Geändert von miniMeSam (01-08-2005 um 22:08 Uhr)
miniMeSam ist offline   Mit Zitat antworten
Alt 01-08-2005, 22:53   #7 (permalink)
agedoubleju
Gast
 
Beiträge: n/a
Zitat:
ja, das ist mir klar
Anscheinend immer noch nicht. Du solltest in den Explorer schauen, wieviel Bytes jeder einzelne Film hat und dann alle Bytes händisch (oder mit Rechner...) zusammenrechnen und den Gesamtwert in eine Variable schreiben:
film1.swf -- 203 Bytes
film2.swf -- 897 Bytes

ActionScript:
  1. var gesamt = 1100;
  2. var bLoaded = targClip.getBytesLoaded();//plus die geladenen Bytes der Vorfilme
  3. ...
  Mit Zitat antworten
Alt 01-08-2005, 23:21   #8 (permalink)
Neuer User
 
Registriert seit: May 2005
Beiträge: 74
ok, jetzt ist mir klar..die holzfeller variante klar das haut hin, aber es muss doch eine möglichkeit geben, dass ich aus flash selber hersaus abfragen kann wie gross die bilder sind. oder geht das echt nicht?? weiss flash wirklich erst dann wie gross die bilder sind nachdem er sie voll geladen hat?? nein, das kann nicht sein, denn die einzelnen bilder kann ich ja vorladen. ich weiss lediglich nicht wie und wann ich alle getBytesTotal() abfragen und addieren soll.
miniMeSam 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 00:24 Uhr.

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


Copyright ©1999 – 2012 Marc Thiele