Egret的TimerEvent.TIMER和Event.ENTER_FRAME的区别
2018-02-20 21:12
871 查看
TimerEvent.TIMER,从Timer的参数就可以看出来,是delay多少时间,意思是当一个函数执行完成后再Delay多久。举例: Timer 设置为 间隔40ms,而Timer的函数运行花费25ms,那么,Timer将以65ms的间隔恒定运行。比如间隔多久发射子弹,创建敌机,创建陨石等...
Event.ENTER_FRAME是定时间隔多少时间出发。如果执行时间比间隔时间长,则会间隔执行时间这么久。举个例子: Flash的stage.FrameRate设置为 25即,Event.EnterFrame的出发间隔为40ms,如果Event.EnterFrame的执行函数花费时间为25ms,那么Event.EnterFrame将以间隔40ms的恒定频率运行。Event.ENTER_FRAME事件做动画的缺陷 1,每当想要改变指定的帧速率的时候,我们必须更新基于该帧速率计算速度的所有代码(除非使用基于速度的动画) 2,Flash运行器不总是能到达指定的帧速率,动画变慢。这种变慢甚至因系统负载而不同,帧速率可能只在短时期下降后恢复到它的正常速率。 在一般情况中,用稍有差别的速度播放一个动画是可以接受的,但是,当要求精确控制或者可见精度是有影响的时候,我们必须考虑帧速率的缺陷。此时,我们用基于逝去的时间而不是关联于指定帧来计算移动一个移动的距离更合适(即基于速度的动画)
比如物体移动坐标,计算碰撞等
所以如果每一帧都要检测的话,最好使用Event.ENTER_FRAME,否则用TimerEvent.TIMER,Event.ENTER_FRAME的动画代码一般要比基于Timer的等价物更简单和使用较少的内存
Event.ENTER_FRAME是定时间隔多少时间出发。如果执行时间比间隔时间长,则会间隔执行时间这么久。举个例子: Flash的stage.FrameRate设置为 25即,Event.EnterFrame的出发间隔为40ms,如果Event.EnterFrame的执行函数花费时间为25ms,那么Event.EnterFrame将以间隔40ms的恒定频率运行。Event.ENTER_FRAME事件做动画的缺陷 1,每当想要改变指定的帧速率的时候,我们必须更新基于该帧速率计算速度的所有代码(除非使用基于速度的动画) 2,Flash运行器不总是能到达指定的帧速率,动画变慢。这种变慢甚至因系统负载而不同,帧速率可能只在短时期下降后恢复到它的正常速率。 在一般情况中,用稍有差别的速度播放一个动画是可以接受的,但是,当要求精确控制或者可见精度是有影响的时候,我们必须考虑帧速率的缺陷。此时,我们用基于逝去的时间而不是关联于指定帧来计算移动一个移动的距离更合适(即基于速度的动画)
比如物体移动坐标,计算碰撞等
所以如果每一帧都要检测的话,最好使用Event.ENTER_FRAME,否则用TimerEvent.TIMER,Event.ENTER_FRAME的动画代码一般要比基于Timer的等价物更简单和使用较少的内存
相关文章推荐
- AS3中的Timer和Event.EnterFrame的区别
- AS3中的Timer和Event.EnterFrame的区别
- AS3中的Timer和Event.EnterFrame的区别
- Timer 和 Event.ENTER_FRAME (转)
- Timer与Event.ENTER_FRAME使用中发现的问题
- page 31 TimerEvent.TIMER
- NSTimer scheduledTimerWithTimeInterval与timerWithTimeInterval、initWithFireDate的区别
- scheduledTimerWithTimeInterval与timerWithTimeInterval的区别
- Actionscript Flash Event.ENTER_FRAME 延迟间隔非常大 并且 pre-render 耗时非常严重
- VB函数Time和Timer的区别
- scheduledTimerWithTimeInterval和timerWithTimeInterval的区别
- NSTimer scheduledTimerWithTimeInterval与timerWithTimeInterval、initWithFireDate的区别
- python中threading的高级函数应用解析 Lock Rlock Condition Semaphore Timer Event Semaphore对象
- iframe和frame的区别
- JQuery中this和event.target的区别
- event与delegate 区别
- [转]The Citrix MetaFrame servers cannot process your request at this time. The Citrix XML Service object was not found.
- frame与bounds的区别比较
- html Frame、Iframe、Frameset 的区别 (转)
- QSlider重新enterEvent