Zurück   Flashforum > Flash > ActionScript > ActionScript 1

Antwort
 
LinkBack Themen-Optionen Ansicht
Alt 21-08-2003, 07:18   #1 (permalink)
Neuer User
 
Registriert seit: Nov 2001
Beiträge: 79
preloading button problem

Hallo an Alle!

Hab da ein Problem im as.
Möchte mehrere externe swf hintereinander in meinen Hauptfilm laden und diese dann mit dem jeweiligen Button aufrufen können.
Solange die Filme laden, dient dieser button als preloader( soll einfach nur blinken) und wird erst dann aktiv wenn der film geladen ist.

Hier mal die as:

ActionScript:
  1. onClipEvent(load)
  2. {
  3.         //definiere die Dateinamen der Filme, die geladen werden sollen
  4.         films=new Array("foto1.swf","foto2.swf",//usw.)
  5.        
  6.         //aktuellen Status speichern, welcher Film des Arrays gerade geladen wird
  7.         loadingStatus=0 //auf den Lade Status müssen wir beim ansprechen der Container eins draufzählen, da das Array mit 0 beginnt
  8.        
  9.         //beginne mit dem Laden des ersten Films
  10.         cont_1.loadMovie(films[0])
  11.         //schalte Lämpchen auf "Blinken"
  12.         _root.navi.menue.light_1.gotoAndStop("blink")
  13. }
  14. onClipEvent(enterFrame)
  15. {
  16.         //so lange noch nicht alle Filme geladen sind
  17.         if(loadingStatus<films.length())
  18.         {
  19.                 //Ladefortschritt des aktuell ladenden Films ermitteln
  20.                 progress=this["cont_"+(loadingStatus+1)].getBytesTotal() / this["cont_"+(loadingStatus+1)].getBytesLoaded()
  21.         }
  22.        
  23.         //Film komplett geladen && überhaupt schon angefangen mit Laden && noch nicht alle Filme geladen
  24.         if(progress==1 && this["cont_"+(loadingStatus+1)].getBytesTotal()>10 && loadingStatus<films.length())
  25.         {
  26.                 //schalte Lämpchen komplett ein
  27.                 this["_root.navi.menue.light_"+(loadingStatus+1)].gotoAndStop("on")
  28.                
  29.                 //nächster Film soll geladen werden
  30.                 loadingStatus++
  31.                 //beginne mit dem Laden des nächsten Films
  32.                 this["cont_"+(loadingStatus+1)].loadMovie(films[loadingStatus])
  33.                 //schalte Lämpchen auf "Blinken"
  34.                 this["_root.navi.menue.light_"+(loadingStatus+1)].gotoAndStop("blink")
  35.         }
  36. }

Irgendwie lädt nur der erste Film und der Button bleibt beim blinken, er lädt also noch???

Seh hier nich mehr durch....

Vielleicht hat jemand eine Lösung.
__________________
please help...
basuca ist offline   Mit Zitat antworten
Alt 21-08-2003, 07:54   #2 (permalink)
The Man Who Wasn't There
 
Benutzerbild von fraggle two
 
Registriert seit: Jul 2003
Ort: BÄRLIN
Beiträge: 1.156
hi,

sitze gerade an nem rechner ohne flash...
deshalb kann ich nur mal spekulieren:

ActionScript:
  1. onClipEvent(load)
  2. {
  3.         //definiere die Dateinamen der Filme, die geladen werden sollen
  4.         films=new Array("foto1.swf","foto2.swf",//usw.)
  5.        
  6.         //aktuellen Status speichern, welcher Film des Arrays gerade geladen wird
  7.         loadingStatus=0 //auf den Lade Status müssen wir beim ansprechen der Container eins draufzählen, da das Array mit 0 beginnt
  8.  
  9. if(loadingStatus<films.length())
  10.         {       
  11.         //beginne mit dem Laden des ersten Films
  12.         this["cont_"+(loadingStatus+1)].loadMovie(films[loadingStatus])
  13.         //schalte Lämpchen auf "Blinken"
  14.         this["_root.navi.menue.light_"+(loadingStatus+1)].gotoAndStop("blink")
  15.  
  16.  
  17.         //so lange noch nicht alle Filme geladen sind
  18.        
  19.                 //Ladefortschritt des aktuell ladenden Films ermitteln
  20.                 progress=this["cont_"+(loadingStatus+1)].getBytesTotal() / this["cont_"+(loadingStatus+1)].getBytesLoaded()
  21.        
  22.          //Film komplett geladen && überhaupt schon angefangen mit Laden && noch nicht alle Filme geladen
  23.         if(progress==1 && this["cont_"+(loadingStatus+1)].getBytesTotal()>10 && loadingStatus<films.length())
  24.         {
  25.                 //schalte Lämpchen komplett ein
  26.                 this["_root.navi.menue.light_"+(loadingStatus+1)].gotoAndStop("on")
  27.                
  28.                 //nächster Film soll geladen werden
  29.                 loadingStatus++
  30.                       }
  31. }

probier das mal aus... hab das zweite onClipEvent weggelassen und die if schleife an den anfang der laderoutiene gesetzt.
jetzt müßte die schleife eigentlich solange durchlaufen bis loadingStatus gleich arraylänge ist.

hoffe das funzt

gruß
mike
__________________
Dot-Realities
Mike Broders
Berlin

ICQ:105925103

Dot-Realities v4.0 under construction!
fraggle two ist offline   Mit Zitat antworten
Alt 21-08-2003, 08:11   #3 (permalink)
Neuer User
 
Registriert seit: Nov 2001
Beiträge: 79
Danke erstmal.

Jetzt hört der button auf zu blinken, aber der zu ladende film erscheint nicht.
__________________
please help...
basuca ist offline   Mit Zitat antworten
Alt 21-08-2003, 08:26   #4 (permalink)
HAY
Neuer User
 
Benutzerbild von HAY
 
Registriert seit: Aug 2002
Ort: Faust-Stadt
Beiträge: 2.577
hi
probier mal das hier.ich würde aber den onEnterFrame nicht so auf den mc legen.weil du den wenn alles geladen ist immer weiter läuft.
ActionScript:
  1. onClipEvent(load){
  2.          films=new Array("1.jpg","2.jpg")
  3.          loadingStatus=0
  4.          cont_1.loadMovie(films[0])
  5.          _root.navi.menue.light_1.gotoAndStop("blink")
  6. }
  7. onClipEvent(enterFrame){
  8.          if(loadingStatus<films.length){
  9.                 //Ladefortschritt des aktuell ladenden Films ermitteln
  10.                 progress=this["cont_"+(loadingStatus+1)].getBytesTotal() / this["cont_"+(loadingStatus+1)].getBytesLoaded()
  11.                 trace(progress)
  12.                     if(progress==1 ){
  13.                   //schalte Lämpchen komplett ein
  14.                     this["_root.navi.menue.light_"+(loadingStatus+1)].gotoAndStop("on")
  15.                     //nächster Film soll geladen werden
  16.                   loadingStatus++
  17.                   //beginne mit dem Laden des nächsten Films
  18.                   this["cont_"+(loadingStatus+1)].loadMovie(films[loadingStatus])
  19.                     //schalte Lämpchen auf "Blinken"
  20.                     this["_root.navi.menue.light_"+(loadingStatus+1)].gotoAndStop("blink")
  21.                     }
  22.           }else{
  23.             trace("Alle Filme geladen")
  24.             }
  25. }
__________________
gruß Harry
HAY ist offline   Mit Zitat antworten
Alt 21-08-2003, 08:55   #5 (permalink)
Neuer User
 
Registriert seit: Nov 2001
Beiträge: 79
Wo sollte ich den Deiner Meinung nach hinlegen?
__________________
please help...
basuca ist offline   Mit Zitat antworten
Alt 21-08-2003, 09:20   #6 (permalink)
HAY
Neuer User
 
Benutzerbild von HAY
 
Registriert seit: Aug 2002
Ort: Faust-Stadt
Beiträge: 2.577
hi
weiß jetzt nicht wo dein mc ist mit denn containern.
mach den code in den frame wo dein mc ist.
ActionScript:
  1. function nachladen(){
  2. dein_mc.films=new Array("1.jpg","2.jpg")
  3. dein_mc.loadingStatus=0
  4. dein_mc.cont_1.loadMovie(dein_mc.films[0])
  5. _root.navi.menue.light_1.gotoAndStop("blink")
  6. dein_mc.onEnterFrame = function() {
  7.         if(this.loadingStatus<this.films.length){
  8.                 //Ladefortschritt des aktuell ladenden Films ermitteln
  9.                 this.progress=this["cont_"+(this.loadingStatus+1)].getBytesTotal() / this["cont_"+(this.loadingStatus+1)].getBytesLoaded()
  10.                 trace(this.progress)
  11.                     if(this.progress==1 ){
  12.                   //schalte Lämpchen komplett ein
  13.                     this["_root.navi.menue.light_"+(this.loadingStatus+1)].gotoAndStop("on")
  14.                     //nächster Film soll geladen werden
  15.                   this.loadingStatus++
  16.                   //beginne mit dem Laden des nächsten Films
  17.                   this["cont_"+(this.loadingStatus+1)].loadMovie(this.films[this.loadingStatus])
  18.                     //schalte Lämpchen auf "Blinken"
  19.                     this["_root.navi.menue.light_"+(this.loadingStatus+1)].gotoAndStop("blink")
  20.                     }
  21.           }else{
  22.             trace("Alle Filme geladen")
  23.             delete this.onEnterFrame
  24.             }
  25. }
  26. }
  27. nachladen()
__________________
gruß Harry
HAY ist offline   Mit Zitat antworten
Alt 21-08-2003, 09:40   #7 (permalink)
Neuer User
 
Registriert seit: Nov 2001
Beiträge: 79
Irgendwie bekomm ich es nich hin.

Der button der als preloader fungiert, springt einfach nich zum bild "on". Die externen Filme werden geladen, aber der button bleibt bei "Blink" stehen.
__________________
please help...
basuca ist offline   Mit Zitat antworten
Alt 21-08-2003, 09:47   #8 (permalink)
The Man Who Wasn't There
 
Benutzerbild von fraggle two
 
Registriert seit: Jul 2003
Ort: BÄRLIN
Beiträge: 1.156
... poste mal nen beispiel...

gruß
mike
__________________
Dot-Realities
Mike Broders
Berlin

ICQ:105925103

Dot-Realities v4.0 under construction!
fraggle two ist offline   Mit Zitat antworten
Alt 21-08-2003, 09:53   #9 (permalink)
HAY
Neuer User
 
Benutzerbild von HAY
 
Registriert seit: Aug 2002
Ort: Faust-Stadt
Beiträge: 2.577
hi
änder mal im onenterframe die beiden zeilen

ActionScript:
  1. _root.navi.menue["light_"+(this.loadingStatus+1)].gotoAndStop("on")
  2. _root.navi.menue["light_"+(this.loadingStatus+1)].gotoAndStop("blink")
__________________
gruß Harry
HAY ist offline   Mit Zitat antworten
Alt 21-08-2003, 20:33   #10 (permalink)
Neuer User
 
Registriert seit: Nov 2001
Beiträge: 79
Danke erstmal an alle die mir so tatkräftig helfen.

Das Script von Harry funktionert schon ganz gut, aber leider lädt es die externen Filme alle auf einmal. Schön wäre es, wenn die nacheinander geladen würden und dies der jeweilige preloader(welcher dann zum button wird) anzeigt.

Ich leg mal meine fla bei:
Angehängte Dateien
Dateityp: zip navi.zip (10,3 KB, 6x aufgerufen)
__________________
please help...
basuca ist offline   Mit Zitat antworten
Alt 22-08-2003, 07:12   #11 (permalink)
Neuer User
 
Registriert seit: Nov 2001
Beiträge: 79
Vielleicht hab ich mich etwas blöde ausgedrückt.

Ich habe mehrere button im Hauptfilm, welche jeweils nacheinander die Ladezustände der hereinzuladenden filme anzeigen sollen. Es beginnt button1 (light_1) zu blinken, ist der erste externe film fertig geladen, springt der button in den Zustand "on". Hier liegt dann der Befehl mit _visible = true und false zum sichtbar bzw. unsichtbar machen der extern. Filme.
Desweiteren blinkt jetzt button2 (light_2), der dann wiederum in seinen "on" Zustand springt, sobald der Film geladen ist.
Und das geht nun so weiter...

Aber leider, wie gesagt, laden die externen filme alle auf einmal.
Vielleicht kann sich jemand mal mein Beispiel ansehen.
__________________
please help...
basuca 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:54 Uhr.

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


Copyright ©1999 – 2012 Marc Thiele