Zurück   Flashforum > Flash > ActionScript > ActionScript 1

Antwort
 
LinkBack Themen-Optionen Ansicht
Alt 21-05-2007, 09:00   #1 (permalink)
Neuer User
 
Registriert seit: Jun 2005
Beiträge: 237
setInterval führt Funktion nur einmal aus?!

Grüß euch Jungs... nächstes Problem...

ich habe folgende Funktionen:

ActionScript:
  1. var randommc:Array = Array("dotmc1","dotmc2","dotmc3","dotmc4","dotmc5","dotmc6","dotmc7","dotmc8");
  2.  
  3. randommc.sort(function () {return (random(3)-1);});
  4.  
  5. function fade(mc,step)
  6. {
  7.     var lala = _root[mc];
  8.     trace(lala._alpha);
  9.     lala._alpha=0;
  10.     this.onEnterFrame = function()
  11.     {
  12.         if (lala._alpha <= 100)
  13.         {
  14.             lala._alpha+=step;
  15.             updateAfterEvent();
  16.         }
  17.         else
  18.         {
  19.             delete this.onEnterFrame;
  20.             trace("Kill it like Beckham");
  21.         }
  22.     }
  23.    
  24. }
  25.  
  26. function randRange(min:Number, max:Number):Number {
  27.     var randomNum:Number = Math.floor(Math.random() * (max - min + 1)) + min;
  28.     return randomNum;
  29. }

nun habe ich folgenden Aufruf:

ActionScript:
  1. setInterval(fade(randommc[randRange(0,7)],5),5000);

Bis hierher funktioniert alles wunderbar... der ZufallsMC wird sauber eingefadet etc...

jedoch nur einmal... das setInterval ruft die Funktion scheinbar nur einmal auf... ich hab auch nirgendwo ein clearInterval oder ähnliches am laufen

Vielleicht hat eine meiner Funktionen einen Fehler obwohl alles funktioniert?

Ich hoffe mir kann jemand helfen

greez
D@luxe ist offline   Mit Zitat antworten
Alt 21-05-2007, 09:11   #2 (permalink)
Der Wunderhund
 
Benutzerbild von gaspode
 
Registriert seit: Jun 2002
Ort: Hattingen
Beiträge: 10.515
PHP-Code:
setInterval(fade(randommc[randRange(0,7)],5),5000); 
Das geht so nicht. Du mußt die Funktion ohne () angeben
und die Parameter einzeln übergeben (siehe auch Flashhilfe).

PHP-Code:
setInterval(fade500randommc[randRange(0,7)], 5); 
gruß, gaspode
gaspode ist offline   Mit Zitat antworten
Alt 21-05-2007, 09:21   #3 (permalink)
Neuer User
 
Registriert seit: Jun 2005
Beiträge: 237
vielen Dank... das Interval wird jetzt schön aufgerufen aber die Funktion funktioniert nicht mehr...

beim Aufruf wird der MC auf Alpha 0% gesetzt aber das onEnterFrame wird scheinbar ignoriert und im Ausgabefenster kommt ein Trace... beim ersten Intervalaufruf traced es 100 und dann immer 0 und ich hab keine Ahnung wo das herkommt...
D@luxe ist offline   Mit Zitat antworten
Alt 21-05-2007, 12:29   #4 (permalink)
Neuer User
 
Registriert seit: Jun 2005
Beiträge: 237
hat den niemand eine Ahnung wo hier der Fehler liegen könnte?
hab schon einiges probiert aber nichts hat funktioniert -_-
D@luxe ist offline   Mit Zitat antworten
Alt 29-05-2007, 13:14   #5 (permalink)
Neuer User
 
Registriert seit: Jun 2005
Beiträge: 237
hab das Problem nun endlich gefunden

ActionScript:
  1. function fade(mc,step)
  2. {
  3.     var lala = _root[mc];
  4.     trace(lala._alpha);
  5.     lala._alpha=0;
  6.     this.onEnterFrame = function()
  7.     {
  8.         if (lala._alpha <= 100)
  9.         {
  10.             trace("Ich bin drin");
  11.             lala._alpha+=step;
  12.             updateAfterEvent();
  13.         }
  14.         else
  15.         {
  16.             delete this.onEnterFrame;
  17.             trace("Kill it like Beckham");
  18.         }
  19.     }
  20.    
  21. }

Das Problem ist scheinbar das onEnterFrame Event... er springt gar nicht in dieses hinein..
der erste Trace ist Alpha 100
der zweite dann 0 und wenn das interval wieder gesetzt wird wieder 0 etc etc.

Der Trace im onEnterFrame wird gar nie ausgegeben... vielleicht weil es auf den MC schon einen onEnterFrame gibt...

wie kann ich das am besten lösen?

Bitte um Hilfe
D@luxe 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 06:39 Uhr.

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


Copyright ©1999 – 2012 Marc Thiele