/ / setInterval in MovieClip.prototype - flash, actionscript, actionscript-2

setInterval in MovieClip.prototype - flash, actionscript, actionscript-2

come posso usare setInterval in movieClip.prototype? questo codice aumenta il valore num solo una volta ...

   MovieClip.prototype.testFunc = function(num) {
var num = isNaN(num) ? 0 : num;
trace(num);
clearInterval(this.slideDelay);
num++;
this.slideDelay = setInterval(this.testFunc, 4000,num);
};
var testMc = _root.createEmptyMovieClip("testMc", 1);
testMc.testFunc(0);

risposte:

0 per risposta № 1

Ciò è dovuto a una parte confusa diActionScript / JavaScript: il valore della parola chiave "this" può essere diverso a seconda del contesto in cui è stata chiamata la funzione. Quando il tuo testFunc viene chiamato la seconda volta (da setInterval), il valore "this" non è definito. Questo fa sì che clearInterval fallisca, così come le chiamate successive a setInterval.

Usalo come chiamata setInterval per ottenere l'effetto desiderato:

this.slideDelay = setInterval(this, "testFunc", 4000, num);