Zurück   Flashforum > Flash > ActionScript > ActionScript 1

Antwort
 
LinkBack Themen-Optionen Ansicht
Alt 26-07-2004, 23:21   #1 (permalink)
Neuer User
 
Registriert seit: Jun 2004
Beiträge: 13
Question mehrere dynamische Inhalte nacheinander Preloaden

Hallo,

Ich hab mal wieder ein Problem an dem ich mir die Zähne ausbeisse. Ich versuche eine dynamisch generierte Bildergalerie zu preloaden.

Die externen Bilder werden per loadMovie in einzelne MCs geladen.


Hier werden die Clips in die die Bilder reinsollen generiert, was auch schonmal funktioniert.


ActionScript:
  1. function creategalerie() {
  2.     var i;
  3.     for (i=0; i<_root.bilderAnzahl; i++) {
  4.         _root.container.bilder.attachMovie("filmstreifen", "filmstreifen"+i,i);
  5.         _root.container.bilder["filmstreifen"+i]._x = _root.xpos;
  6.         _root.xpos += 112;
  7.        
  8.         _root.container.bilder["filmstreifen"+i].bild._xscale = 30;
  9.         _root.container.bilder["filmstreifen"+i].bild._yscale = 30;
  10.        
  11.     }
  12. }

Das Problem liegt darin, dass ich erstens nicht unbedingt alle Bilder auf einmal laden will, also am liebsten hätte ich das ein Bild in den Clip geladen wird und wenn es fertig ist das nächste zu laden beginnt, und zweitens ums verrecken nicht auf die getBytesLoaded() und getBytesTotal() von den generierten Clips zu greifen kann. Hier bekomm ich immer NaN raus.

Hier hab ich das mal versucht, das Skript ist aber irgendwie Mist.


ActionScript:
  1. if(_root.bilderstatus == "go") {
  2.     for (i=0; i<_root.bilderAnzahl; i++) {
  3.     loadMovie("jpgs/"+i+".jpg",_root.container.bilder["filmstreifen"+i].bild);
  4.         _root.container.bilder.onEnterFrame = function() {
  5.             _root.geladen = _root.container.bilder["filmstreifen"+i].bild.getBytesLoaded();
  6.             _root.total = _root.container.bilder["filmstreifen"+i].bild.getBytesTotal();
  7.             _root.prozent = _root.geladen / _root.total *100;
  8.             if(_root.geladen == _root.total) {
  9.                 _root.bilderstatus = "go";
  10.                 }
  11.             else {
  12.                 _root.bilderstatus = "wait";
  13.                 }
  14.            
  15.         }
  16.     }
  17.    
  18. }

Sinn der Sache soll sein, dass eben erst alle Bilder geladen werden bevor ich weiter springe.
Ich hoffe ich hab das einigermassen verständlich rüber gebracht und vielen dank für jede Hilfe im vorraus.
weltraumpfleger ist offline   Mit Zitat antworten
Alt 27-07-2004, 03:07   #2 (permalink)
All-rounder
 
Benutzerbild von thebiz
 
Registriert seit: Mar 2004
Ort: Bayerische Rhön
Beiträge: 2.507
Hy

Ich weiß nicht warum es nicht geht,
aber meinst Du es ist gut das onEnterFrame
in der for-i Schleife zu haben?

Ich würde das nicht so machen.
Die for-i Schleife rast doch im Nu durch
und löst jedes mal das onEnterFrame mit
neuem "i" aus.

Oder liege ich falsch?! Denke nicht.
__________________

--------------------------------
Ich klicke, ergo bin ich. (me)
--------------------------------
thebiz ist offline   Mit Zitat antworten
Alt 27-07-2004, 09:44   #3 (permalink)
Neuer User
 
Registriert seit: Jun 2004
Beiträge: 13
ok da könntest du recht haben

es werden im moment alle bilder gleichzeitig geladen, irgendwie müsste die schleife warten bis ein bild fertig geladen ist. das mit der variablen die ich da drin hab die auf "go" und "wait" gesetzt wird bringt rein gar nichts...
weltraumpfleger ist offline   Mit Zitat antworten
Alt 27-07-2004, 15:04   #4 (permalink)
All-rounder
 
Benutzerbild von thebiz
 
Registriert seit: Mar 2004
Ort: Bayerische Rhön
Beiträge: 2.507
Kannst Du auch so machen:
Die Bilder werden erst geladen, wenn die jeweilige Größe,
des eingeladenen Contents > 0 ist.

PHP-Code:
this._lockroot true;
1;
bilderAnz 5;
posY 100;
_root.createTextField("bytes", -54505010020);
//
function laden() {
 
_root.attachMovie("container""container" ii);
 
_root["container" i];
 
_root.b.loadMovie(".jpg");
 
_root.onEnterFrame = function() {
  
_root.bytes.text b.getBytesLoaded() + " Bytes";
  if (
b._width 0) {
   
b._y posY i;
   if (
bilderAnz) {
    
i++;
    
laden();
   }
  }
 };
}
//
_root.button_mc.onPress = function() {
 
laden();
}; 
__________________

--------------------------------
Ich klicke, ergo bin ich. (me)
--------------------------------
thebiz ist offline   Mit Zitat antworten
Alt 27-07-2004, 16:47   #5 (permalink)
Neuer User
 
Registriert seit: Jun 2004
Beiträge: 13
erstmal danke für deine hilfe.
Ich hab das soweit eingebaut...

leider klappt es immernoch nicht.


ActionScript:
  1. galeriebildgeladen = _root.container.bilder["filmstreifen"+i].bild.getBytesLoaded();
Dies liefert mir einfach kein Ergebnis zurück und ich weiss nicht warum. Wenn ich direkt in in den Filmstreifen Movieclip gehe und es mir da ausgeben lasse geht es.
weltraumpfleger ist offline   Mit Zitat antworten
Alt 27-07-2004, 16:55   #6 (permalink)
All-rounder
 
Benutzerbild von thebiz
 
Registriert seit: Mar 2004
Ort: Bayerische Rhön
Beiträge: 2.507
Wie sieht denn der ganze Code jetzt aus?
Wenn es so nicht klappt, dann nimm mal zum testen:
_root.container.bilder.filmstreifen1.bild.getBytesLoaded();
__________________

--------------------------------
Ich klicke, ergo bin ich. (me)
--------------------------------
thebiz ist offline   Mit Zitat antworten
Alt 27-07-2004, 17:07   #7 (permalink)
Neuer User
 
Registriert seit: Jun 2004
Beiträge: 13
hier der code:
ActionScript:
  1. function laden() {
  2.     loadMovie("jpgs/"+_root.i+".jpg", _root.container.bilder["filmstreifen"+_root.i].bild);
  3.     _root.onEnterFrame = function() {
  4.         _root.galeriebildgeladen = _root.container.bilder.filmstreifen1.bild.getBytesLoaded();
  5.         _root.galeriebildtotal = _root.container.bilder["filmstreifen"+i].bild.getBytesTotal();
  6.         trace(_root.galeriebildgeladen);
  7.         if (_root.galeriebildgeladen == _root.galeriebildtotal) {
  8.             if (i<_root.bilderAnzahl) {
  9.                 _root.i++;
  10.                 laden();
  11.                 trace(_root.i);
  12.             }
  13.         }
  14.     };
  15. }

jetzt mit der 1 drinne, irgendwas is da sehr merkwürdig. Der gibt jetzt bei _root.galeriegeladen immer 12 aus, was ja nich sein kann.

Geändert von weltraumpfleger (27-07-2004 um 17:09 Uhr)
weltraumpfleger 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 22:46 Uhr.

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


Copyright ©1999 – 2012 Marc Thiele