use*_*106 2 flash actionscript-3
我在使用它们作为更新方法时,正在寻找ENTER_FRAME和TIMER方法之间的一些比较.我在互联网上寻找了一些答案,但我仍然觉得很难理解.
有人能帮助简化它们之间的不同吗?
定时器事件可以独立于swf的帧速率(到一个点)进行调度.它们可以比ENTER_FRAME事件更频繁或更少地发生,并且如果您关心计算的精度,则应该使用它们,因为它们发生在ENTER_FRAME覆盖的时间跨度之间.最常见的用例是物理引擎,您可能希望尽可能精确,因此希望以比Flash的fps更快的速度执行模拟.
此外,如果您希望在给定延迟后执行特定操作,则计时器可能很有用.例如,Timer可让您轻松地在10秒后执行操作.您只需将10000毫秒传递到Timer的构造函数中,然后10秒后将调度Timer事件.如果您要使用ENTER_FRAME,则需要手动跟踪每次帧更新所用的时间,如果您想知道10秒后的时间.
ENTER_FRAME事件与时间轴的渲染周期相关联,并且或多或少与您指定的帧速率相匹配.例如,如果您的帧速率为30fps,那么每秒将收到大约30个ENTER_FRAME事件.如果您有一个特别复杂的显示列表,或者您的逻辑需要特别长的时间来执行,您可能会收到更少.