+ -
当前位置:首页 → 问答吧 → 请教一个onEnterFrame的问题?

请教一个onEnterFrame的问题?

时间:2010-11-04

来源:互联网

一直弄不清楚onEnterFrame这个事件,所以请教前辈们一个问题:
对于一个影片剪辑来说,onEnterFrame就是每播放一帧就执行一次是吧?
那么假如场景中有一个影片剪辑abc_mc,共50帧,主场景55帧,第55帧上加上stop();
复制内容到剪贴板
代码:
var i=0;
abc_mc.onEnterFrame=function(){
    i++;
    trace(i);
    if (this._currentframe==this._totalframes) {
                delete this.onEnterFrame;
            }
};
trace("50帧");
可是为什么输出的内容却是:
50帧
0到49

而不是
0到49
50帧

为什么50帧的时候delete this.onEnterFrame;而代码不会继续往下执行输出“50帧”,主场景不是要在55帧结束吗?谢谢大家指教,谢谢!

作者: chenli11   发布时间: 2010-11-04

onEnterFrmae  的执行时间会有 1/帧频  秒   的延迟

作者: flash023   发布时间: 2010-11-04

如果程序的计算卡也会导致这个不精确。即使是timer也会有延迟的情况。
不过可以通过时间的计算来进行修正。比如一秒钟本来要触发10次的函数调用。如果卡导致只调用一次。就可以手动调用9次。

作者: enc0717   发布时间: 2010-11-04