/ / setInterval у MovieClip.prototype - спалах, сценарій дій, сценарій дій-2

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

як я можу використовувати setInterval у movieClip.prototype? цей код збільшує числове значення лише один раз ...

   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);

Відповіді:

0 для відповіді № 1

Це пов'язано з заплутаною частиноюActionScript / JavaScript: значення ключового слова "this" може бути різним залежно від контексту, в якому була викликана функція. Коли ваш testFunc викликається вдруге (за допомогою setInterval), значення "це" не визначено. Це робить clearInterval невдалим, як і ваші наступні дзвінки в setInterval.

Використовуйте це як виклик setInterval, щоб отримати бажаний ефект:

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