{lang: 'de'}
Flashhilfe.de - Flash Community

erneutes Aufrufen einer anderen swf-Datei macht Probleme [Flash 10]

 


AntwortenRegistrieren Seite1  

UKJoerg#1
Benutzerbild von UKJoerg
Beiträge: 22
Registriert: Jun 2010

23.07.2014, 13:58

Nachdem ich mich kürzlich mal wieder mit Actionscript auseinandersetzen musste, hab ich mich entschlossen, nun doch meine Website fertig zu bauen. Ich weiss, AS2 ist uralt und man sollte es nicht mehr unbedingt verwenden, allerdings ist die Seite fast fertig und es hängt eigentlich nur noch an folgendem Problem:

Auf der Website sollen Fotos präsentiert werden. Ich habe zwei swf-Dateien. In der Hauptdatei steckt das Menü, mit einem Klick auf eine Schaltfläche gehts in die zweite swf, diese lädt externe jpg's aus verschiedenen Ordnern.

Die Hauptdatei ruft die zweite Datei (ansehen.swf) auf mit:
ActionScript:
1ansehen1.loadMovie("ansehen.swf");

Es gibt zwei globale Variablen, die diese zweite Datei nutzen kann (_global.wo und _global.Liste). Sie werden gebraucht, um die Bilder aus dem richtigen Ordner zu laden.

In der zweiten Datei wird ein Listener implementiert, der den Ladefortschritt der Bilder überwacht:
ActionScript:
1
2
3
var loader:MovieClipLoader = new MovieClipLoader();
var preload:Object = new Object();
loader.addListener(preload);

Sobald die Gesamtzahl der Bilder geladen ist, werden leere Movieclips erstellt und die Bilder reingeladen:
ActionScript:
1
2
3
4
5
6
7
8
9
BilderAlle.onLoad = function()
{   for (i = 1; i <= BilderAlle.Anzahl && i <= 100; i++){
         _global.t = createEmptyMovieClip("Bild" + i, i);
         loader.loadClip(_global.wo + "/" + _global.Liste + "/" + i + ".jpg",t);
         _global.t._alpha = 0;
         _global.t._x = 50      
         _global.t._y = 50;      
     }   
};

Wenn ich's richtig verstehe, überprüft der Listener, ob alle Bilder geladen sind und geht dann weiter in das nächste Bild:
ActionScript:
1
2
3
4
5
6
preload.onLoadComplete = function(){   
          _global.geladen++;
     if (geladen == BilderAlle.Anzahl){   
        gotoAndPlay(2);
     }
};

Jetzt wird nur noch der alpha-Wert des aktuellen Bildes erhöht, wenn es angezeigt werden soll:
ActionScript:
1_global.t._level0.DingeRahmen_ani.ansehen1['Bild' + _global.bildcounter]._alpha = 100;


Das alles funktionert soweit wunderbar.

Wenn ich allerdings von der zweiten Datei wieder in die Menü-Datei wechsle und die ansehen.swf ein zweites Mal aufrufe, werden keine Bilder angezeigt. Beim Wechsel in die Menü-Datei "entlade" ich die ansehen.swf im Movieclip ansehen1:
ActionScript:
1ansehen1.unloadMovie("ansehen.swf");

Um den Fehler einzugrenzen, habe ich mit t an verschiedenen Stellen anzeigen lassen. Die Bilder werden offenbar auch beim zweiten Mal geladen:
ActionScript:
1
2
3
4
5
6
7
8
9
BilderAlle.onLoad = function()
{   for (i = 1; i <= BilderAlle.Anzahl && i <= 100; i++){
         _global.t = createEmptyMovieClip("Bild" + i, i);
         loader.loadClip(_global.wo + "/" + _global.Liste + "/" + i + ".jpg",t);
         _global.t._alpha = 0;
         _global.t._x = 50      
         _global.t._y = 50;   
             trace(t);   
     }
bringt beide Male alle Bilder. Allerdings scheint es beim Listener zu hängen:
ActionScript:
1
2
3
preload.onLoadComplete = function(){
      trace("irgendwas");
}{

bringt die Ausgabe "irgendwas" nur beim ersten Mal.

Was mache ich falsch?
Schlagwörter: loadmovie, unloadMovie
Tetenja#2
Benutzerbild von Tetenja
Beiträge: 69
Registriert: Apr 2013

25.07.2014, 15:00

Hallo
Ich bin jetzt auch nicht gerade der Profi, aber wenn es beim ersten mal geht, dann denke ich das eine Variabel vor den zweiten Start nicht zurück gesetzt wird.
In der Schleife werden ja zwei Bedingungen geprüft und der wert der Bilder muss auch zurück gesetzt werden.
Am besten alle Variable und auch den Alpha ausgeben lassen und vergleichen.
UKJoerg#3
Benutzerbild von UKJoerg
Beiträge: 22
Registriert: Jun 2010

Themenautor/in

25.07.2014, 18:45

Ja, das wars. Es gab irgendwelche Probleme, wenn ich die _global-Variablen ein zweites Mal aufgerufen habe.

Danke.

AntwortenRegistrieren Seite1  

Schnellantwort

Du musst registriert sein, um diese Funktion nutzen zu können.

 
Ähnliche Beiträge zum Thema
Partner Webseiten: art-and-law.de  Mediengestalter.info   phpwelt.de   Scubacube.de  
Haftungsausschluss   Datenschutzerklärung   Impressum
© 1999-2024 Sebastian Wichmann - Flashhilfe.de