ERLEDIGT
NEIN
NEIN
ANTWORTEN
2
2
ZUGRIFFE
3174
3174
EMPFEHLEN
-
Hallo,
wer oft mit setInterval und dynamisch eingeladenen/instanzierten MovieClips arbeitet, kennt das Problem: Bei einem Wechsel der Inhalte müssen ggf. alle Intervalle "per Hand" gelöscht werden, da diese sonst bis in alle Ewigkeit weiterlaufen, auch wenn das auslösende Objekt nicht mehr existiert.
Mit dieser kleinen Klasse (deren Existenz auf jenes Problem zurückgeht) lässt sich dieses Problem beheben; das "SmartInterval" prüft bei jedem Aufruf die Existenz des Zielobjektes und löschst sich ggf. selbst:Code actionscript:1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20
class smartInterval { var OBJ:Object; function smartInterval(interval:Number, fn:Function, dest:MovieClip) { OBJ = new Object(); OBJ.DC = dest; OBJ.FN = fn; OBJ.timestamp = getTimer(); OBJ.DC["stamp" + OBJ.timestamp] = OBJ.timestamp; OBJ.interval = function() { if (this.DC["stamp" + this.timestamp] == this.timestamp) { this.FN(); } else { clearInterval(this.IV); } } OBJ.IV = setInterval(OBJ, "interval", interval); } }
Aufruf z.B.:Code :1 2 3 4 5
var iv1 = new smartInterval(8000, function() { doSomething(); }, this); function doSomething() { // sonstwas }
Grüße,
Tobi
-
Genial
Lob und Bravo.Besten Gruß,
Mike
-
Aus gegebenem Anlass hier noch ein kleiner Prototype zum einmaligen Ausführen von Invervallen. Der Name der Callback-Methode wird als String übergeben:
Code actionscript:1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18
MovieClip.prototype.setTimeOut = function(interval, fn) { var iv = "timeOutInterval_" + getTimer() + "_" + int(Math.random() * 9999); var that = this; var cbFunc = function() { clearInterval(that[iv]); delete that[iv]; that[fn](); } this[iv] = setInterval(cbFunc, interval); } // Aufruf: this.setTimeOut(2000, "machWas"); function machWas() { trace("Hallo: " + this); }
Grüße
.
Ähnliche Themen
-
Dateien automatisch löschen
Von Alice im Forum PHPAntworten: 21Letzter Beitrag: 12.11.10, 18:20 -
Intervalle
Von bam im Forum Algorithmen & Datenstrukturen mit JavaAntworten: 1Letzter Beitrag: 17.06.10, 20:58 -
Automatisch löschen mit PS 3?
Von Alex363 im Forum PhotoshopAntworten: 4Letzter Beitrag: 17.02.09, 15:55 -
MultipageEditor - löschen von GEF-Objekten
Von LaborIgel im Forum Swing, Java2D/3D, SWT, JFaceAntworten: 1Letzter Beitrag: 16.04.07, 10:31 -
Automatisch löschen
Von PsychoGiga im Forum PHPAntworten: 20Letzter Beitrag: 02.11.04, 22:24





Zitieren
Login





