我有一个依赖于 ENTER_FRAME
的脚本每次运行的事件。我注意到在一些较慢的计算机上播放 Flash 电影时可能会出现一些延迟。
是否ENTER_FRAME
在每一帧上运行,即使它在慢速计算机上?
如果 Flash 电影滞后,是否会出现 ENTER_FRAME
事件仍在运行,渲染只是试图 catch ?
正在 ENTER_FRAME
上运行代码每次输入帧时执行代码的可靠方法?
最佳答案
是的。每一帧,无一异常(exception)。如果某件事使电影速度变慢(沉重的脚本或沉重的图形),它 Event.ENTER_FRAME
在渲染帧之前,处理程序仍在执行。
因此,通常使用 Timer
是个好主意。实例与 TimerEvent.TIMER
,即使它的延迟设置为等于电影 的“理想”帧持续时间fps .因为 timer
处理程序是 不是 必然以完全一致的速率被触发。
更深入的解释见以下链接:The Elastic Racetrack
关于actionscript-3 - AS3 Event.ENTER_FRAME 是否总是在每一帧上运行?即使在慢速计算机上?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6602087/