Zurück   Flashforum > Flash > ActionScript > ActionScript 1

Antwort
 
LinkBack Themen-Optionen Ansicht
Alt 03-06-2005, 08:52   #1 (permalink)
Neuer User
 
Registriert seit: Jun 2005
Ort: Finnland
Beiträge: 37
clearInterval im 'else' Teil

Hallo!

Ich kann nach dem ich in einer if-Schleife setInterval aufrufe, dieses nicht im else-Teil per clearInterval löschen.
Folgendes passiert in meinem Movie: Es werden 3 Movieclips per Zufall auf der Bühne eingefadet (entweder keiner,einer, zwei oder alle 3).
Die Clips werden eingefadet, aber per trace habe ich festegestellt, das setInterval nicht gestoppt wird...also immer weiterläuft.

Rufe ich clearInterval() mit einem Button auf, so stoppt es.

Ich versteh nicht, was in meiner if-Schleife falsch läuft.
Kann mir jemand weiterhelfen?

Danke

Hier der Code:

ActionScript:
  1. fadein1 = function (movieclip1) {
  2.     myTimer1 = setInterval(setalpha, 100);
  3.     setalpha = function () {
  4.     if(movieclip1._alpha<100){movieclip1._alpha = movieclip1._alpha+10;}
  5.     else {clearInterval(myTimer1);}
  6.     }
  7.  
  8.  
  9. incoming_lc.methodToExecute = function(var1, var2, var3) {
  10.  
  11.     //Abfrage wird Bild1 dargestellt oder nicht -> das ganze gibts 3mal
  12.     if (var1 == 1) {
  13.         frame_Gel._alpha = 0;
  14.         frame_Gel._visible = true;
  15.         func1 = fadein1(frame_Gel);
  16.     } else {
  17.         frame_Gel._visible = false;
suomeli ist offline   Mit Zitat antworten
Alt 03-06-2005, 09:17   #2 (permalink)
flashworker
 
Benutzerbild von brose
 
Registriert seit: Jun 2003
Beiträge: 199
Hallo,
lass dir mal myTimer1 im else-Zweig tracen! Wahrscheinlich gibt er dir undefined zurück. Versuch es stattdessen mal mit _root.myTimer1.
__________________
brose
brose ist offline   Mit Zitat antworten
Alt 03-06-2005, 09:38   #3 (permalink)
Neuer User
 
Registriert seit: Jun 2005
Ort: Finnland
Beiträge: 37
Hi!

Danke für die schnelle Antwort
Wenn ich myTimer trace gibt er mir je Mausklick (bei der ich die Fadeins aufrufe) eine höhere Zahl an (1,2,3...)
Bei _root.myTimer1 bringt er undefinded.

Wenn ich einen Button mit btn.onRelease =function{ clearIntervall(myTimer1);}, dann kennt er myTimer1 auch.

Es wird immer wieder setalpha aufgerufen..dann springt er zum else, löscht aber das Intervall nicht.

Seltsam....
suomeli ist offline   Mit Zitat antworten
Alt 03-06-2005, 09:45   #4 (permalink)
Level up
 
Benutzerbild von Alois
 
Registriert seit: Jun 2001
Ort: Bocholt
Beiträge: 4.155
hmm,
eigentlich wunderte mich am Anfang, daß überhaupt was funktioniert..., zuerst den Intervall aufrufen, und dann erst die Funktion definieren, die beim Intervall aufgerufen werden soll ist zumindest unsauber (und funktioniert bei mir auch nicht als Einzelaufruf).
Und daß der Intervall nicht gelöscht wird ist schon klar (einer wird schon gelöscht...), Du überschreibst ja die variable myTimer1 immer wieder, damit ist der Intervall über jene variable nicht mehr ansprechbar....
versuchs mal so:
ActionScript:
  1. setalpha =function(mc){
  2.     mc._alpha+=10
  3.         if(mc._alpha>100){
  4.            clearInterval (mc.myTimer1);
  5.            }
  6.         }
  7. fadein1 = function (movieclip1) {
  8.     movieclip1.myTimer1 = setInterval(setalpha, 100, movieclip1);
  9. };
  10. ...

Gruß

Alois
__________________
-Spuckt mir auf den Stuhl, ich will im Grünen sitzen-

Geändert von Alois (03-06-2005 um 09:47 Uhr)
Alois ist offline   Mit Zitat antworten
Alt 03-06-2005, 10:14   #5 (permalink)
Neuer User
 
Registriert seit: Jun 2005
Ort: Finnland
Beiträge: 37
Wow, vielen Dank.
Klappt alles bestens.

Ps: Programmieren war noch nie meine Stärke

Schönen Tag,

Melanie
suomeli 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 23:09 Uhr.

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


Copyright ©1999 – 2012 Marc Thiele