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 № 1Ciò è 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);