我想创建一个永远重复的循环,每5秒重复一次动画片段。这段代码
var timer = 0;
countup = function(){
timer++;
if (timer >= 5){
mc.duplicateMovieClip("mc2"+u, u, {_x:50});
clearInterval(countupInterval);
}
}
var countupInterval = setInterval(countup,1000);
重复一次movieclip,但之后间隔停止(因为clearInterval)并且不再发生重复。如果我删除clearInterval部分,动画片段将被复制一次,并且相同的动画片段在5秒后重复(因为setInterval部分)。如果有人有类似问题的链接或问题的答案,我将非常感谢!
答案 0 :(得分:0)
不要使用间隔,这对于呼叫延迟是不准确的。使用计时器并自己计算时间:
var timerMC:MovieClip = _root.createEmptyMovieClip("timerMC", _root.getNextHighestDepth());
timerMC.lastTime = getTimer();
timerMC.onEnterFrame = function() {
var currentTime:Number = getTimer();
if (currentTime - this.lastTime >= 5000) {
mc.duplicateMovieClip("mc2"+u, u, {_x:50});
u++;
this.lastTime = currentTime;
}
};
答案 1 :(得分:-1)
您应该在代码中设置并不断更改 u 变量 并省略 clearInterval 功能。然后,如果计时器值大于4,请将其再次设置为0。 例如:
var timer = 0;
var u = 0;
var x = 50;
countup = function(){
timer++;
if (timer > 4){
timer = 0;
u++;
mc.duplicateMovieClip("mc2"+u, u, {_x:x});
// clearInterval(countupInterval);
x += 50;
}
}
var countupInterval = setInterval(countup, 1000);