【问题标题】:setInterval in MovieClip.prototypeMovieClip.prototype 中的 setInterval
【发布时间】:2011-12-23 03:45:26
【问题描述】:

如何在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);

【问题讨论】:

    标签: flash actionscript actionscript-2


    【解决方案1】:

    这是由于 ActionScript/JavaScript 的一个令人困惑的部分:“this”关键字的值可能会根据调用函数的上下文而有所不同。当您的 testFunc 被第二次调用(通过 setInterval)时,“this”值是未定义的。这会导致 clearInterval 以及您随后对 setInterval 的调用失败。

    使用它作为你的 setInterval 调用来获得你想要的效果:

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

    【讨论】:

      猜你喜欢
      • 2011-03-28
      • 2016-04-17
      • 1970-01-01
      • 1970-01-01
      • 2011-08-08
      • 2018-03-26
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多