Antworten auf deine Fragen:
Neues Thema erstellen

Nach Preloader MC abspielen?

D

DaFunsel

Guest

Guten Abend.
Ich habe gerade ein totalen Hänger, sitze jetzt ungelogen 24 Stunden an einer Flash-Homepage.
Ich habe zuvor schon einige Preloader mit eingebaut. Jetzt bin ich an der Startseite, dort habe ich eine Kugel, vor der Kugel ist eine Iris. Es soll nun so sein, das ich in einen MC der auf der Bühne liegt, ein .swf lade, diese .swf ist eine Diashow die in der Kugel angezeigt werden soll. Hinter dem Preloader ligt die Iris, diese soll erst aufgehen, wenn der Preloader 100% von der .swf geladen hat. Danach soll der Preloader ausgeblendet werden.
Das Laden funktioniert. Aber er zeigt mir keine Prozente an und läd komischerweise noch wärend die Diashow schon abgespielt wird???!!!!
Wie kann ich das Problem lösen?
Aufbau:
Ich habe 7 Ebenen. In dem ersten Bild ist nur ein Preloader für die Inhalte ab Bild 2.
In Bild 2 habe ich die Kugel, die Iris, eine Maske um den Inhalt nur in der Kugel zu sehen, die anderen Ebenen beinhalten nur unwichtige Dinge.
Eine Ebene beinhaltet noch ein Stop Befehl ab Bild 2:
Dann habe ich in Bild 2 dieses hier stehen:
Code:
[COLOR=#0000ff]this[/COLOR].[COLOR=#0000ff]onEnterFrame[/COLOR] =   [COLOR=#0000ff]function[/COLOR](){
           geladen   =  [COLOR=#0000ff]_root[/COLOR].mc.[COLOR=#0000ff]getBytesLoaded[/COLOR]();
           gesamt    =  [COLOR=#0000ff]_root[/COLOR].mc.[COLOR=#0000ff]getBytesTotal[/COLOR]();
           prozent   =   geladen * 100 / gesamt;
           mc_prozent.[COLOR=#0000ff]text[/COLOR] = [COLOR=#0000ff]Math[/COLOR].[COLOR=#0000ff]round[/COLOR](prozent)+[COLOR=#009900]"   %"[/COLOR];
           [COLOR=#0000ff]if[/COLOR](geladen >= gesamt) {
                      [COLOR=#0000ff]gotoAndPlay[/COLOR]([COLOR=#009900]"iris"[/COLOR]);
                
                     [COLOR=#0000ff]delete[/COLOR] [COLOR=#0000ff]this[/COLOR].[COLOR=#0000ff]onEnterFrame[/COLOR];
                   }
}
mc.[COLOR=#0000ff]loadMovie[/COLOR]([COLOR=#009900]"Dia_Start/Dia_Start.swf"[/COLOR])


Ich habe in der Animation von der Iris 25 Frames und am Anfang/Ende ein Stop Befehl. Jetzt ist es so, dass der Loader Prozente anzeigt, aber danach wieder anfängt zu laden und die Iris bleibt zu.

Wäre über jede Hilfe sehr dankbar.
Ich hoffe das Problem ist einigermaßen verständlich, habe echt Kopfbrummen.

Gruß
 

Kerstin77

Flashfan

AW: Nach Preloader MC abspielen?

Hallo,

vermutlich liegt hier das Problem:

PHP:
if (geladen >= gesamt) {
   gotoAndPlay("iris");
   delete this.onEnterFrame;
}

Ist "iris" eine Bildbezeichnung oder der Name des abzuspielenden MCs? Eine Bildbezeichnung sehe ich auf Deinem Screenshot nicht. Wenn es der Name des MCs sein soll, schreib mal:

PHP:
iris.gotoAndPlay(2);

Grüße,
Kerstin
 
D

DaFunsel

Guest

AW: Nach Preloader MC abspielen?

Ja Super, das klappt schon mal... Vielen Dank.
Habe den MC "iris" auf der Bühne. Der wird auch abgespielt.
Ich habe aber das gefühl der Preloader läd nicht richtig. Wenn die Iris sich öffnet fängt die .swf irgendwo in der Mitte an.
Jetzt ist der Preloader nur noch im Weg, der wird nicht ausgeblentet .. der bleibt bei 100% stehen und die .swf wird abgespielt.

Gruß
 
Zuletzt bearbeitet von einem Moderator:

Kerstin77

Flashfan

AW: Nach Preloader MC abspielen?

Wenn Du ihn nicht mehr brauchst, kannst ihn doch einfach löschen:

PHP:
preloader_mc.swapDepths(100000); 
preloader_mc.removeMovieClip();

Grüße,
Kerstin
 
D

DaFunsel

Guest

AW: Nach Preloader MC abspielen?

Hi.
So einfach kann es sein ... Danke für die Hilfe.
Ich glaube aber mein Flash spinnt jetzt völlig. Ich habe den Preloader zusammen mit dem dynamischen Textfeld (% Anzeige) zu einem MC convertiert. Habe dem Textfeld auch den Namen zugewiesen, egal wie ich es anspreche, es wird nichts mehr angezeigt. Was ich auch nicht verstehe, das die geladene .swf irgendwo in der Mitte anfängt obwohl er ja angeblich noch läd.

Gruß
 

Kerstin77

Flashfan

AW: Nach Preloader MC abspielen?

Wenn sich das dyn. Textfeld jetzt in einem MC befindet, kannst Du das Textfeld auch nur über den MC ansprechen, also so in etwa:

PHP:
preloader_mc.dyntext_txt.text = prozent;
 
D

DaFunsel

Guest

AW: Nach Preloader MC abspielen?

Hui.. Danke :)
Mhhh ... Das funzt, das wundert mich aber das es mit der alten Variante nicht geht, habe im Netz zum Thema Prelaoder ne Source gefunden wo der Taxt genauso angesprochen wird, wieso klappt das da aber nicht bei meiner Datei? Der Aufbau war der selbe...
Aber mein Loader muss ja auch iwo was falsch machen, er läd zwar bis 100% dann geht die Iris auf, die .swf wird angezeigt ist aber schon fast einmal durchgelaufen. Das heißt er rechnet doch falsche Prozentwerte zusammen, weil er soll ja die .swf erst abspielen wenn er sie 100% geladen hat aber er fängt ja schon bei geschätzten 30% an sie abzuspielen.
Gruß
 
Zuletzt bearbeitet von einem Moderator:

Kerstin77

Flashfan

AW: Nach Preloader MC abspielen?

Hab die Vermutung, das die externe swf gestreamt wird (und somit schon begonnen wird diese abzuspielen, auch wenn sie noch nicht 100% geladen ist).

Habe allerdings mit loadMovie / AS2 allgemein schon länger nichts mehr gemacht, könntest Du die Datei mal anhängen, dann schaue ich es mir an?

Kerstin
 
D

DaFunsel

Guest

AW: Nach Preloader MC abspielen?

Aber klar doch...
Hier die Diashow:

Hier die Startseite:


Gruß
 
D

DaFunsel

Guest

AW: Nach Preloader MC abspielen?

So ich habe nochmal ein wenig gebastelt.
Das Problem mit dem Prelaoder bleibt dennoch.
Des weiteren verstehe ich eine Sache schon wieder nicht.
Ich habe in 2 Bildern die übereinander liegen folgende Scripte

Ebene 3; Bild 2

Code:
this.onEnterFrame =   function(){  
   this.zentrale_ani.zentrale.position.text = "Home";
   
   geladen   =  _root.mc.getBytesLoaded();
   gesamt    =  _root.mc.getBytesTotal();
   prozent   =   geladen * 100 / gesamt;
   preloader.mc_prozent.text = Math.round(prozent)+"   %";

   this.zentrale_ani.zentrale.status.text = "Loading";
   
   if(geladen >= gesamt && geladen > 20) { 
      iris.gotoAndPlay(2);
      this.zentrale_ani.zentrale.status.text = "Playing";
      delete this.onEnterFrame;
      this.preloader._visible = false;
      
    
   }
}
mc.loadMovie("Dia_Start/Dia_Start.swf")

Ebene 2; Bild 2

Code:
Home.onPress = function() {

    iris.gotoAndPlay("51")
    
    mc.loadMovie("Dia_Start/Dia_Start.swf");

    this.zentrale_ani.zentrale.position.text = "Home";

    ladestatus();
};

preloader._visible = false;

ladestatus = function () {

    preloader.onEnterFrame = function() {
        
        geladen = _root.mc.getBytesLoaded();
        gesamt = _root.mc.getBytesTotal();
        
        if (geladen>=10) {
            
            preloader._visible = true;
            
            prozent = Math.round(geladen/gesamt*100);
            
            preloader.mc_prozent.text = Math.round(prozent)+"   %";
            
            this.zentrale_ani.zentrale.status.text = "Loading";
            
            
            if(geladen >= gesamt && geladen > 20) {
                
                preloader._visible = false;
                
                _root.iris.gotoAndPlay(2);
                
                this.zentrale_ani.zentrale.status.text = "Playing";
                
                delete this.onEnterFrame;             
            
            }
        }    
    };
};
Ich habe die Aktionen auch schon ohne "this" etc. versucht.
Er zeigt mir am Anfang im dynamischen Textfeld an, dass er läd, dann wenn er fertig ist, das er es abspielt.
Klicke ich jedoch auf den "Home" Button, dann läd er zwar die .swf neu aber bleibt wärend des Ladens auf "Playing" stehen.

Habe hier auch noch mal die erweiterte .fla.
Hat sich einiges getan.


Gruß
 

Kerstin77

Flashfan

AW: Nach Preloader MC abspielen?

Hi,

hat ein wenig gedauert, aber (ohne in Deine neue Datei reinzuschauen) hab ich folgende Lösung:


  • im ersten Frame des nachzuladenden swf's ein stop(); einfügen
  • der Preloader in Deiner Hauptdatei im ersten Frame ist völlig nutzlos, kannste löschen (denn der wird ja erst angezeigt, nachdem die Datei geladen wurde)
  • und anstatt loadMovie nimm besser MovieClipLoader
PHP:
stop();

var mcLoader:MovieClipLoader = new MovieClipLoader();
var listener:Object = new Object();
listener.onLoadProgress = function():Void {
    prozent = bytesLoaded * 100 / bytesTotal;
    preloader.mc_prozent.text = Math.round(prozent)+" %";
}
listener.onLoadComplete = function():Void {
    preloader.swapDepths(100000);
    preloader.removeMovieClip();
    iris.gotoAndPlay(2);
    mc.gotoAndPlay(2);
}
mcLoader.addListener(listener);
mcLoader.loadClip("Dia_Start.swf", mc);
Grüße,
Kerstin
 
Zuletzt bearbeitet:
D

DaFunsel

Guest

AW: Nach Preloader MC abspielen?

Hallo.
Vielen Dank für die Mühe. Ich verstehe aber jetzt nicht ganz genau was ich machen soll. Kann sein das ich jetzt ein wenig verwirrt bin, weil ich ja einiges vorgearbeitet habe. Wäre villeicht sinnvoll, wenn du dir meine neue Datei angucken könntest. Habe mir zwar die alte Datei nochmal angeguckt, aber finde keine Verbindung.
Vom Prinzip her soll es ja so sein, dass wenn man auf einen Button klickt, er die Iris schließt, den dazugehörigen Film läd, den Preloader anzeigt und im Panel in dem dynamischen Textfeld anzeigt (Loading bzw. Playing), dann wieder Iris auf sobald geladen.
Aber es soll am Anfang der Film automatisch starten, auch mit Loader etc.

EDIT:
Habe es nun doch rausbekommen, ein doofer Fehler, warum auch 2 Schlüsselbilder verwenden, wenn es auch mit einem geht :p
Sieht jetzt so aus:
Code:
this.onEnterFrame =   function(){  
   
   preloader._visible = true;
   this.zentrale_ani.zentrale.position.text = "Home";
   
   geladen   =  _root.mc.getBytesLoaded();
   gesamt    =  _root.mc.getBytesTotal();
   prozent   =   geladen * 100 / gesamt;
   preloader.mc_prozent.text = Math.round(prozent)+"   %";

   this.zentrale_ani.zentrale.status.text = "Loading";
   
   if(geladen >= gesamt && geladen > 20) { 
      iris.gotoAndPlay(2);
      this.zentrale_ani.zentrale.status.text = "Playing";
      delete this.onEnterFrame;
      this.preloader._visible = false;
      
    
   }
}
mc.loadMovie("Dia_Start.swf")





Home.onPress = function() {

    iris.gotoAndPlay("51")
    
    mc.loadMovie("Dia_Start.swf");

    zentrale_ani.zentrale.position.text = "Home";

    ladestatus();
};

Booth.onPress = function() {

    iris.gotoAndPlay("51")
    
    mc.loadMovie("Booth.swf");

    zentrale_ani.zentrale.position.text = "Booth";
    zentrale_ani.zentrale.description.text ="Wonderful time of work with great engineers, designers, artists and musicians at the Frankfurt music fair!";
    ladestatus();
};

Beau.onPress = function() {

    iris.gotoAndPlay("51")
    
    mc.loadMovie("Beau.swf");

    zentrale_ani.zentrale.position.text = "Beau";
    zentrale_ani.zentrale.description.text = "My beloved daughter Lotte, My son Nils and my son Manu!";
    ladestatus();
};

Time_Machine.onPress = function() {

    iris.gotoAndPlay("51")
    
    mc.loadMovie("Time_Machine.swf");

    zentrale_ani.zentrale.position.text = "Time Machine";
    zentrale_ani.zentrale.description.text = "Musicians, Here are my old  companions!"
    ladestatus();
};

New_Artist.onPress = function() {

    iris.gotoAndPlay("51")
    
    mc.loadMovie("New_Artist.swf");
    
    zentrale_ani.zentrale.position.text = "New   Artist";
    zentrale_ani.zentrale.description.text = "Here I am introduceing a great new artist. Mister Marc Seefried and his fantastic work.contact: seefried@gmx.de";
    ladestatus();
};

Guestbook.onPress = function() {

    iris.gotoAndPlay("51")
    gotoAndPlay("3")
};

preloader._visible = false;

ladestatus = function () {

    preloader.onEnterFrame = function() {
        
        geladen = _root.mc.getBytesLoaded();
        gesamt = _root.mc.getBytesTotal();
        
        if (geladen>=10) {
            
            preloader._visible = true;
            
            prozent = Math.round(geladen/gesamt*100);
            
            preloader.mc_prozent.text = Math.round(prozent)+"   %";
            
            zentrale_ani.zentrale.status.text = "Loading";
            
            
            if(geladen >= gesamt && geladen > 20) {
                
                preloader._visible = false;
                
                _root.iris.gotoAndPlay(2);
                
                zentrale_ani.zentrale.status.text = "Playing";
                
                delete this.onEnterFrame;             
            
            }
        }    
    };
};
Gruß
 
Zuletzt bearbeitet von einem Moderator:
Bilder bitte hier hochladen und danach über das Bild-Icon (Direktlink vorher kopieren) platzieren.
Antworten auf deine Fragen:
Neues Thema erstellen

Willkommen auf PSD-Tutorials.de

In unseren Foren vernetzt du dich mit anderen Personen, um dich rund um die Themen Fotografie, Grafik, Gestaltung, Bildbearbeitung und 3D auszutauschen. Außerdem schalten wir für dich regelmäßig kostenlose Inhalte frei. Liebe Grüße senden dir die PSD-Gründer Stefan und Matthias Petri aus Waren an der Müritz. Hier erfährst du mehr über uns.

Stefan und Matthias Petri von PSD-Tutorials.de

Nächster neuer Gratisinhalt

03
Stunden
:
:
25
Minuten
:
:
19
Sekunden

Flatrate für Tutorials, Assets, Vorlagen

Zurzeit aktive Besucher

Statistik des Forums

Themen
118.614
Beiträge
1.538.351
Mitglieder
67.525
Neuestes Mitglied
mgtaucher
Oben