2011-12-23 4 views
0

movieClip.prototypeでsetIntervalを使用するにはどうすればよいですか? このコードの増加numの値だけで1時間...MovieClip.prototypeのsetInterval

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

はこれが原因のActionScript/JavaScriptを混乱の部分にある「この」キーワードの値は、関数コンテキストに応じて異なる場合がありますと呼ばれていました。 testFuncが(setIntervalによって)2度目に呼び出されると、 "this"値は未定義です。これにより、clearIntervalは失敗し、その後のsetIntervalの呼び出しも失敗します。

は、あなたが望む効果を得るためにあなたのsetIntervalコールとしてこれを使用します。

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