| |||||||
Du magst keine Werbung? Wir auch nicht!
Einfach registrieren und die Werbung ist weg. Diese Nachricht sehen nur nicht registrierte Nutzer.
![]() |
| | LinkBack | Themen-Optionen | Ansicht |
| | #1 (permalink) |
| Hobby x-treme Flasher Registriert seit: Oct 2001 Ort: Wien
Beiträge: 547
| Funktion läuft trotz ClearInterval immer weiter
Hi Leute, ich möchte gerne die Funktion FadeInSquare nur 1x pro Aufruf ausführen: ActionScript:
Leider läuft die Funktion immer weiter - folgendes erhalte ich in der Ausgabe: iSquare: 1 iSquare: 2 SquareID: 1 SquareID: 1 SquareID: 1 SquareID: 1 ... wobei sich "SquareID: 1" alle 1000 ms wiederholt - das läuft immer weiter. Ich dachte eigentlich, dass ich dem setInterval eine eindeutige ID zugewiesen habe, aber anscheinend funktioniert das nicht so, wie ich möchte - hat jemand eine Erklärung für mich? Die SquareID wird in der Funktion korrekt wiedergegeben, also die Übergabe von der While-Schleife an die Funktion funktioniert anscheinend... Vielen Dank, Lukas
__________________ Skalu • Digital • Studios Geändert von freakgesicht (08-03-2010 um 06:51 Uhr) Grund: SquareID bei clearInterval statt iSquare |
| | |
| | #2 (permalink) |
| ChronoGuard Registriert seit: Mar 2002 Ort: Saarbrücken
Beiträge: 2.644
|
FadeInSquare = function(SquareID) { trace("SquareID: "+SquareID); clearInterval(this[CallFadeInSquare+iSquare]); } Wozu soll überhaupt CallFadeInSquare gut sein?
__________________ we will stop enhancing the truth in 3, 2, ... |
| | |
| | #3 (permalink) |
| Hobby x-treme Flasher Registriert seit: Oct 2001 Ort: Wien
Beiträge: 547
| Das ist die ID vom setInterval, damit ich's wieder clearen kann. Wie soll ich sonst erreichen, dass die Funktion nur 1x durchlaufen wird? Ohne clearInterval läuft sie ewig in dem angegeben Intervall weiter. Wenn ich das so außerhalb einer While-Schleife verwende, funktioniert's auch - nur bei meinem Beispiel nicht... Ach ja, habe oben im 1. Beitrag etwas im Code geändert. In der Funktion muss ich natürlich die SquareID des Funktionparameters verwenden, statt iSquare der While-Schleife... Aber leider war das nicht der Fehler - funktioniert noch immer nicht. Danke, Lukas
__________________ Skalu • Digital • Studios |
| | |
| | #4 (permalink) |
| ChronoGuard Registriert seit: Mar 2002 Ort: Saarbrücken
Beiträge: 2.644
|
Man kann doch nur vermuten, dass die Rückgabe vom setInterval zufällig mit dem Schleifen-Iterator übereinstimmt. this[CallFadeInSquare+iSquare] = setInterval(this, "FadeInSquare", 1000, iSquare); könnte als unter Umständen genauso gut das hier heißen: 3 = 5; Macht keinen Sinn. Schreib die Interval-IDs in ein Array, die kannst du dann dem Iterator gemäß wieder löschen: PHP-Code:
__________________ we will stop enhancing the truth in 3, 2, ... Geändert von SpecOps-12 (08-03-2010 um 10:41 Uhr) |
| | |
| | #5 (permalink) | |
| Hobby x-treme Flasher Registriert seit: Oct 2001 Ort: Wien
Beiträge: 547
| Zitat:
erstmal danke für deine Antwort - bin leider erst heute dazu gekommen, dir zu antworten. Das Wichtigste: dein Code funktioniert so - super! Nur ganz verstehe ich die Begründung nicht, wieso meine Version nicht funktioniert. Ich gebe dem setInterval eine (meiner Ansicht nach) eindeutige ID, denn iSquare kann doch nur Werte zwischen 1 und dem While-Wert sein und sollte einfach immer +1 hochgezählt werden. In der Funktion, die dann aufgerufen wird (die auch den jeweiligen iSquare-Wert als Parameter erhält), wird dann das setInterval wieder gecleared. Vielleicht könntest du mir das noch kurz erklären - vielen Dank ![]() Greetz
__________________ Skalu • Digital • Studios | |
| | |
| | #6 (permalink) |
| ChronoGuard Registriert seit: Mar 2002 Ort: Saarbrücken
Beiträge: 2.644
|
Du kannst dir die Rückgabe einer Funktion merken, aber sie nicht beeinflussen. Du kannst nicht sagen: 1 = setInterval(meinScope, meinListener, meineZeit); sondern nur (Das ist jetzt as2, aber es verdeutlicht es): var bla:Number = setInterval(meinScope, meinListener, meineZeit); trace(bla); // Ausgabe = vorher nicht bekannte Ganzzahl;
__________________ we will stop enhancing the truth in 3, 2, ... |
| | |
![]() |
| Lesezeichen |
| Themen-Optionen | |
| Ansicht | |
| |
Ähnliche Themen | ||||
| Thema | Autor | Forum | Antworten | Letzter Beitrag |
| animation läuft trotz stop befehl weiter | abraxas323 | Flash Einsteiger | 20 | 05-06-2009 16:08 |
| Sound läuft immer weiter und weiter... | finja | Sound | 2 | 20-02-2007 10:27 |
| onEnterFrame läuft trotz stop() weiter | sterlu | Flash Einsteiger | 9 | 15-05-2006 19:29 |
| Ton läuft weiter trotz Anhaltens! | omarrodriguez | Flash Einsteiger | 18 | 26-04-2006 08:40 |
| Movie läuft trotz stop weiter! | Torpedo | Flash 4 und Flash 5 | 8 | 22-11-2002 15:40 |