我如何在movieClip.prototype中使用setInterval? 这段代码只增加了一次num值......
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 :(得分:0)
这是由于ActionScript / JavaScript的一个令人困惑的部分:“this”关键字的值可能会有所不同,具体取决于调用该函数的上下文。当第二次调用testFunc时(通过setInterval),“this”值是未定义的。这使得clearInterval失败,以及随后对setInterval的调用。
使用此作为setInterval调用以获得所需的效果:
this.slideDelay = setInterval(this, "testFunc", 4000, num);