我的测试平台:只有一个框架和一个名为“te”的动态文本字段。以下是动作脚本
var lo=0;
function f():void{
te.text=lo++;
}
setInterval(f,0);
答案 0 :(得分:0)
这里真正的答案是您使用setInterval
,其值为0
。这意味着您希望尽可能多地调用帧中的函数f
。但由于AS3的性质,帧切换被延迟,因此可以执行内部代码(帧速率下降)。但是你永远不会完成执行 - 你的setInterval
永远都在继续,并且正在破坏一切。这就像写while (true)
循环..
所以,只需开始正确使用它,你就不会有任何问题。
答案 1 :(得分:0)
我建议你使用flash Timer类来精确间隔时间, 与ENTER_FRAME或setInterval
相比,它的效率更高var myTimer:Timer = new Timer(1); //ms
var time = 0;
myTimer.start()
myTimer.addEventListener(TimerEvent.TIMER,timerHandle);
function timerHandle(e:TimerEvent){
txt_time.text = time.toString();
time++;
}