Zurück   Flashforum > Flash > ActionScript > ActionScript 1

Antwort
 
LinkBack Themen-Optionen Ansicht
Alt 23-02-2005, 01:03   #1 (permalink)
[+][-]
 
Benutzerbild von lx_1
 
Registriert seit: Jun 2004
Beiträge: 52
preloader problem in opera/ie

hallo allerseits!

ich hab einen preloader aus einem buch übernommen, der einen externen film auf _level0 reinladen soll.

hier mal der code
ActionScript:
  1. _root.createEmptyMovieClip("inhalt_mc", 0);
  2.  
  3. _root.inhalt_mc._lockroot = true;
  4. //Externen Film laden
  5. _root.inhalt_mc.loadMovie("menu_beta4.swf");
  6. var kbgeladen_num:Number;
  7. var kbgesamt_num:Number;
  8. //Regelmäßiger Funktionsaufruf
  9. var id = setInterval(pruefen, 100);
  10. function pruefen() {
  11.     //Geladene Bytes, umgewandelt in Kilobyte
  12.     kbgesamt_num = Math.round(_root.inhalt_mc.getBytesTotal() / 1024);
  13.     kbgesamt_str = kbgesamt_num.toString();
  14.     kbgeladen_num = Math.round(_root.inhalt_mc.getBytesLoaded() / 1024);
  15.     kbgeladen_str = kbgeladen_num.toString();
  16.     balken_mc._width = Math.round((kbgeladen_num / kbgesamt_num) * 200);
  17.     if (kbgeladen_num > 0 && kbgeladen_num == kbgesamt_num) {
  18.         clearInterval(id);
  19.                  }
  20. }

jetzt hab ich zwei probleme:
1. die loading sequence im loading.swf die ja auf level0 liegt, löscht sich nicht wenn der andere film auf _level0 geladen wird. ich hab dann eine überlagerung. selbst wenn ich den loading balken etc. in einen movie pack und den dann per
ActionScript:
  1. _root.x_mc.removeMovieClip();
löschen will.

2. der loading balken funkt zwar, aber im opera nur EINMAL! beim zweiten und weiteren mal bekomm ich einen weissen screen mit zwei drei kryptischen zeichen drinnen und das wars,
im IE ähnlich, nur funkt's da dann nach nach x-maligem probieren.

hat da jemand schon erfahrung gemacht?

bin für jede hilfe dankbar!!
__________________
lg

alex
lx_1 ist offline   Mit Zitat antworten
Alt 23-02-2005, 12:22   #2 (permalink)
The Man Who Wasn't There
 
Benutzerbild von fraggle two
 
Registriert seit: Jul 2003
Ort: BÄRLIN
Beiträge: 1.156
hi,

ich würd ein onEnterFrame zur abfrage nutzen...

dazu nen extra controll-mc erstellen in dem du mit onEnterFrame den ladezustand des content-mc's abfragst...

ActionScript:
  1. img = this.createEmptyMovieClip("mc", 2);
  2. checker = this.createEmptyMovieClip("watcher", 3);
  3. checker.onEnterFrame = function() {
  4. var a = img.getBytesLoaded();
  5. var b = img.getBytesTotal();
  6. var prozent = int((a * 100) / b);
  7. if (prozent >= 100) {
  8. // hier was passieren soll wenn fertig geladen...
  9. delete this.onEnterFrame;
  10. }
  11. };
  12. img.loadMovie("file.swf", img);

wenn du mehrere intervalle benutzt kann es schonmal zu überlagerungen kommen wenn da irgendwo noch einer arbeitet und evtl. gleiche id's vergeben wurden...

gruß
mike
__________________
Dot-Realities
Mike Broders
Berlin

ICQ:105925103

Dot-Realities v4.0 under construction!
fraggle two ist offline   Mit Zitat antworten
Alt 24-02-2005, 14:45   #3 (permalink)
[+][-]
 
Benutzerbild von lx_1
 
Registriert seit: Jun 2004
Beiträge: 52
hi fraggle!

danke für deinen post!
hat aber leider auch nicht das gewünschte ergebnis gebracht...
hab mich jetzt mit bokels loaderClass beschäftigt. es funzt zwar aber:
1) in opera noch immer das gleiche problem - leerer browser fenster mit ein paar kryptischen zeichen
2) der film läuft im browser extreeeem langsam! im flash selbst ist's cool!
3) im IE wird beim ersten ladevorgang komischerweise nicht alles reingeladen!

keine ahnung... bin mit meinem latein am ende!

mein script im loading_file schaut so aus:
ActionScript:
  1. #include "com.qlod.LoaderClass.as"
  2.  
  3.  
  4. meinLoader = new com.qlod.LoaderClass();
  5.  
  6. balken_mc.onLoadProgress = function( loaderObj){
  7. var prozent = Math.floor(loaderObj.getPercent());
  8.  
  9. this._xscale = prozent;
  10. }
  11.  
  12. meinLoader.addListener(balken_mc);
  13.  
  14. balken_mc.onLoadComplete = function( success, target, url){
  15.         ziel_mc._lockroot = true;
  16.         if(target == "_level0.ziel_mc"){
  17.                 eval(target).gotoAndPlay(2);
  18.         }
  19. }
  20.  
  21. meinLoader.addListener(this);
  22. meinLoader.load(ziel_mc, "mein_mc.swf");

wie kann ich es erreichen, dass wirklich erst NACHDEM ALLES reingeladen ist, die swf angezeigt und das dortige script ausgeführt wird? hab leider keine erfahrung solchen preloader problemen!

Ihr grossen flasher da draussen, helft mir bitte!!
__________________
lg

alex
lx_1 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:46 Uhr.

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


Copyright ©1999 – 2012 Marc Thiele