Flashhilfe.de - Flash Community

Rätselhaftes Verhalten beim Nachladen von MovieClips [Flash 10]

 


AntwortenRegistrieren Seite1  

mike1970#1
Benutzerbild von mike1970
Beiträge: 10
Wohnort: Freiburg
Registriert: Feb 2011

15.02.2011, 22:08

Hallo, liebe Flashgemeinde,

ich stehe vor einem grossen Rätsel: Ich möchte aus einer Hauptdatei SWF-Filme nachladen. Diese sollen in einen leeren MovieClip geladen werden. Diese Filme enthalten einen Timer, der die Animation nach 5 Sekunden fortsetzt, nachdem die Stop-Marke erreicht wurde. Jetzt kommt das seltsame: Manche Filme funktionieren vorschriftsmässig, andere bleiben einfach stehen und lassen sich nicht dazu bewegen, weiterzulaufen. Auch ein vorgeschalteter "Weiter-Button" bleibt funktionslos.
Lädt man hingegen diese Filme direkt (also nicht über den Hauptfilm), so funktionieren sie alle vorbildlich. Ich verzweifele an dem "mach-mal-so-und-mach-mal-anders"-Verhalten dieses zentralen Hauptfilms. Es muss wohl am Hauptfilm liegen... Anbei das Skript, wobei die function disclaimer funktioniert, während der nachgeladene film aus der function firmensitz einfach stehenbleibt:

var loader_firmensitz:Loader=new Loader();
var request_firmensitz:URLRequest=new URLRequest("ipas-firmensitz.swf");

var loader_disclaimer:Loader=new Loader();
var request_disclaimer:URLRequest=new URLRequest("ipas-disclaimer.swf");

impressum_btn.addEventListener (MouseEvent.CLICK, impressum);

function impressum (evt:MouseEvent):void {
   clickzaehler ("impressum"); // erhöht clicks und gibt die bezeichnung mit
   if (pd_impressum_boo==false) {
      // panel "impressum" wird rausgefahren
      panelszurueck() // alle anderen offenen bitte zurück
      pd_impressum_mc.gotoAndPlay(2);// animation fährt raus
      pd_impressum_boo=true;// panel "branchen" ist draussen
   
      pd_impressum_mc.panel_impressum.firmensitz_btn.addEventListener(MouseEvent.CLICK,firmensitz);
      pd_impressum_mc.panel_impressum.disclaimer_btn.addEventListener(MouseEvent.CLICK,disclaimer);
      
      function firmensitz (evt:MouseEvent):void {
         loader_firmensitz.load(request_firmensitz);
         if (intro_animation_mc.numChildren > 0) {
         intro_animation_mc.removeChildAt(0);
         }
         intro_animation_mc.addChild(loader_firmensitz);
      }
      function disclaimer (evt:MouseEvent):void {
         loader_disclaimer.load(request_disclaimer);
         if (intro_animation_mc.numChildren > 0) {
         intro_animation_mc.removeChildAt(0);
         }
         intro_animation_mc.addChild(loader_disclaimer);
      }
   }else{
      // sonst zurückfahren
      pd_impressum_mc.gotoAndPlay(11);
      pd_impressum_boo=false;
   }
}
Beide Filme werden geladen, jedoch bei dem Film "Firmensitz" bleibt die Animation aus unerklärlichen Gründen stehen.
ich freue mich über eine Antwort, die Licht ins Dunkle bringt. Ich benutze Flash CS5.

beste Grüsse
Mike
Fange mit dem ersten Schritt an, gehe weiter bis zum Schluss und hör dort auf, denn dann bist du fertig!
RustyCake#2
Benutzerbild von RustyCake
Beiträge: 1776
Wohnort: Laimbach 6 1/2
Registriert: Nov 2002

16.02.2011, 00:10

Servus
Tritt das Phänomen auf, egal in welcher reinen folge man die Filme lädt?
Bitte keine Fragen, zu Flash per PM. Dazu ist das Forum da. Danke MFG_RustyCake!
"Wer tanzen will, muss erst gehen lernen"
mike1970#3
Benutzerbild von mike1970
Beiträge: 10
Wohnort: Freiburg
Registriert: Feb 2011

Themenautor/in

16.02.2011, 08:07

Hallo RustyCake,

leider tritt das Phänomen immer wieder auf:

Die ersten 15-20 Filme funktionieren, dann kommt mal wieder so etwas vor. Ich habe schon versucht, einen anderen leeren MovieClip als Ziel anzugeben, doch es war wieder das Selbe. Die Reihenfolge ist unerheblich. An der Programmierung scheint es auch nicht zu liegen, denn wenn ich ein anderer Film als Ziel angebe, der bislang funktioniert hat, kommt das Phänomen nicht vor. Ändere ich wieder den Namen des Films in den Ursprünglichen ab, habe ich wieder das Problem.
So, jetzt habe ich es ganz geschickt machen wollen und habe eine funktionierende Datei dupliziert und umbenannt. Ergebnis: der Film blieb stehen...

Hat noch jemand Ideen?

Vielen Dank im Voraus
Mike
Fange mit dem ersten Schritt an, gehe weiter bis zum Schluss und hör dort auf, denn dann bist du fertig!
springer#4
Benutzerbild von springer
Beiträge: 4909
Wohnort: zuhaus
Registriert: Apr 2004

16.02.2011, 09:18

hi,
versuch mal deine funktionen "firmensitz" und "disclaimer" nicht zu verschachteln. ich denke du hast da probleme mit der gültigkeit der funktionen... also im sinne von:

ActionScript:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
function impressum(event:Event):void
{
      //..
}


function firmensitz(event:Event):void
{
      //..
}

function disclaimer(event:Event):void
{
      //..
}
lieber chips essen und danach voller zweifel sein, als voller zweifel chips essen...
mike1970#5
Benutzerbild von mike1970
Beiträge: 10
Wohnort: Freiburg
Registriert: Feb 2011

Themenautor/in

16.02.2011, 20:27

Hallo springer,

vielen Dank für die Anregung, scheint mir schlüssig und einleuchtend zu sein. werde in den nächsten Tagen mal eine Rückmeldung geben, ob es geklappt hat, denn ich muss den Hauptfilm "Schaltzentrale" mit ungefähr 100 Buttons noch mal komplett auseinandernehmen.
Könnte mir da noch jemand einen Tipp geben, wie man bei 100 Buttons und 100 Funktionen am besten den Überblick behält?
- sprechende Namen für die Funktionen wende ich schon an,
- mehrere AS-Ebenen für die jeweiligen Rubriken sind auch angelegt,
- reichlich Kommentare reinschreiben,
- wenn ein AS-Code mehrere 100 Zeilen hat, werden Abschnitte mit
   // Funktionsbezeichnung
   ...
  // -- (Funktonsbezeichnung Ende)

  unterteilt, damit man sie markieren und dann an den Pfeilen vorne zusammenklappen kann

hat noch jemand erprobte Mittel zur Hand, um bei ellenlangem Code noch zu wissen, was wo steht?
Fange mit dem ersten Schritt an, gehe weiter bis zum Schluss und hör dort auf, denn dann bist du fertig!
mike1970#6
Benutzerbild von mike1970
Beiträge: 10
Wohnort: Freiburg
Registriert: Feb 2011

Themenautor/in

16.02.2011, 21:32

Hallo Springer,

ich bin deinem Vorschlag gefolgt und habe die Funktionen aus der Funktion herausgeholt. Das Script sieht jetzt viel sauberer und aufgeräumter aus, jedoch...

... manche Filme bleiben beim nachladen immer noch stehen! Und zwar diejenigen, die zuletzt reingestellt wurden.

daraufhin habe ich die Ebenenreihenfolge der AS-Ebenen abgeändert, in der Hoffnung, dass sich etwas tut... leider nicht...
Könnte es an einem internen Speicherproblem liegen? - eigentlich möchte ich das ausschliessen, weil die Filme ja "removed" werden, bevor ein neuer Film angehängt wird.

Habt Ihr auch schon solche Absonderlichkeiten erlebt?

Bin offen für jeden schlauen Tipp...

beste Grüsse
Mike
Fange mit dem ersten Schritt an, gehe weiter bis zum Schluss und hör dort auf, denn dann bist du fertig!
RustyCake#7
Benutzerbild von RustyCake
Beiträge: 1776
Wohnort: Laimbach 6 1/2
Registriert: Nov 2002

17.02.2011, 00:16

Kann man auch ausschließen, das noch andere Listener im Speicher hängen?
Oder werden die alle Brav removed?

Du schreibst wirklich, für jeden Button eine Eigene Funktion, wow das ist ja ne Menge Holz.
Bitte keine Fragen, zu Flash per PM. Dazu ist das Forum da. Danke MFG_RustyCake!
"Wer tanzen will, muss erst gehen lernen"
Geändert von RustyCake am 17.02.11 um 00:17 Uhr

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-2020 Sebastian Wichmann - Flashhilfe.de