Zurück   Flashforum > Flash > ActionScript > ActionScript 1

Antwort
 
LinkBack Themen-Optionen Ansicht
Alt 26-05-2005, 10:31   #1 (permalink)
Neuer User
 
Registriert seit: Sep 2002
Beiträge: 50
Post MovieClipLoader und gestaffeltes Laden

Hi,

Ich habe eine Funktion "loadPics" mit der man Bilder oder SWF laden kann.
Diese Funktion sollte eigentlich so lange in der "OnEnterFrame" Methode
bleiben bis das Bild oder der Film geladen ist.

Dafür benutze ich eine Variable "LoadComplete".

"onLoadInit" des Listener soll diese auf 1 setzen. Danach beendet sich die
"OnEnterFrame" Methode und nun sollte erst das zweite "loadPics" ausgeführt
werden.

Ich bekomme aber in meinem Trace folgendes.

start1
start2
Ladevorgang in Movieclip erfolgt = _level0.backgroundImage
0 = Am Ende geladene Byte
0 = Byte gesamt am Ende
Ladevorgang in Movieclip erfolgt = _level0.test
0 = Am Ende geladene Byte
0 = Byte gesamt am Ende
Movieclip = _level0.test ist jetzt initialisiert
Movieclip = _level0.backgroundImage ist jetzt initialisiert
test

Unverständlicher Weise führt er am Anfang gleich beide "loadPics" Methoden
aus und am Ende gibt er auch nur einmal "test" zurück. Obwohl es eigentlich
so aussehen sollte.

start1
Movieclip = _level0.test ist jetzt initialisiert
test
start2
Movieclip = _level0.backgroundImage ist jetzt initialisiert
test

Meiner Meinung nach sollte er doch so lange in der "OnEnterFrame" Methode
bleiben bis das Bild geladen ist oder verstehe ich da was falsch?

Bitte helft mir. Ich brauch das dringend.

ActionScript:
  1. //Globale Variable
  2.  
  3. var LoadComplete = 0;
  4.  
  5. var mein_mcl = new MovieClipLoader();
  6.  
  7. meinListener = new Object();
  8. mein_mcl.ClipLoaded = 0;
  9.  
  10. meinListener.onLoadProgress = function(ziel_mc, loadedBytes, totalBytes) {
  11.         percentLoaded = int(100*(loadedBytes/totalBytes));
  12.         trace(percentLoaded+"% loaded");
  13.         _level0.progress_txt.text = _level0.geladen;
  14. };
  15. meinListener.onLoadComplete = function(ziel_mc) {
  16.         trace("Ladevorgang in Movieclip erfolgt = "+ziel_mc);
  17.         var loadProgress = mein_mcl.getProgress(ziel_mc);
  18.         trace(loadProgress.bytesLoaded+" = Am Ende geladene Byte");
  19.         trace(loadProgress.bytesTotal+" = Byte gesamt am Ende");
  20. };
  21. meinListener.onLoadInit = function(ziel_mc) {
  22.         trace("Movieclip = "+ziel_mc+" ist jetzt initialisiert");
  23.         // Jetzt eine beliebige Einrichtung vornehmen, zum Beispiel:
  24.         LoadComplete = 1;
  25. };
  26. meinListener.onLoadError = function(ziel_mc, errorCode) {
  27.         trace("*********Erste mein_mcl-Instanz*********");
  28.         trace("FEHLERCODE = "+errorcode);
  29.         trace("Ladevorgang in Movieclip fehlgeschlagen = "+ziel_mc+"n");
  30.         trace(_level0.geladen);
  31. };
  32. mein_mcl.addListener(meinListener);
  33.  
  34. function loadPics(ClipName, MovieName, Depth) {
  35.         this.createEmptyMovieClip(ClipName, Depth);
  36.         ClipName._alpha = 0;
  37.         mein_mcl.loadClip(MovieName, ClipName);
  38.         this.onEnterFrame = function() {
  39.             if( LoadComplete == 1) {
  40.                 trace ('test');
  41.                 ClipName._alpha = 100;
  42.                 LoadComplete = 0;
  43.                 delete this.onEnterFrame;
  44.             }
  45.         };
  46. }
  47.  
  48. main();
  49.  
  50. function main() {
  51.     trace('start1');
  52.     loadPics("backgroundImage", "../flashbilder/hintergrund.jpg", 1);
  53.     trace('start2');
  54.     loadPics("test", "fl_weisseFlaeche.swf", 100);
  55. }

Gruß
Mirko
superior369 ist offline   Mit Zitat antworten
Alt 26-05-2005, 14:26   #2 (permalink)
dreizeiler
 
Benutzerbild von mojave
 
Registriert seit: Sep 2004
Ort: Berlin
Beiträge: 1.411
Du musst die Bandbreitensimulation von Flash verwenden. (einfach nach film testen nochmal Strg return) oder oben über die menüleiste
mojave ist offline   Mit Zitat antworten
Alt 26-05-2005, 14:57   #3 (permalink)
Neuer User
 
Registriert seit: Sep 2002
Beiträge: 50
Leider bringt das auch nicht den gewünschten Erfolg und das Ergebnis bleibt
das gleiche. Ich hatte auch schon ein Textfeld eingefügt, in welches ich dann
einfach die beiden Namen der Bilder reingeschrieben habe, nach dem sie
jeweils geladen wurden.

Dies habe ich dann auch auf meinem Server getestet. Ohne Erfolg.
Es wurde mir immer nur das letze Bild angezeigt.
superior369 ist offline   Mit Zitat antworten
Alt 26-05-2005, 15:14   #4 (permalink)
dreizeiler
 
Benutzerbild von mojave
 
Registriert seit: Sep 2004
Ort: Berlin
Beiträge: 1.411
also, wenn ich das richtig verstehe geht es doch lediglich darum bilder unbedingt nacheinander zu laden oder was???
dann könntest du das auch so machen:

ActionScript:
  1. var bildArray = new Array("bild1.jpg","bild2.jpg");
  2. var ladeCounter:Number = 0;
  3.  
  4. loadBild(ladeCounter, _root.mc);
  5.  
  6. function loadBild(nummer:Number, ziel){
  7.     meinLoader.loadClip(bildArray[nummer], ziel)
  8. }
  9.  
  10. meinListener.onLoadComplete = function(ziel_mc) {
  11.        loadBild(++ladeCounter, x);
  12. };

Geändert von mojave (26-05-2005 um 15:15 Uhr)
mojave 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:39 Uhr.

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


Copyright ©1999 – 2012 Marc Thiele