【发布时间】:2013-02-12 18:53:06
【问题描述】:
我无法在 AS3 中以 60fps 的速度实现与帧速率无关的运动。每一帧我测量自上一帧以来的时间,将其添加到累加器中,如果累加器大于我的目标时间,即 16.666ms (60fps),则模拟一帧。
问题在于 AS3 getTimer() 只返回以毫秒为单位的时间。
我得到的增量时间通常是第一帧为 16 毫秒,第二帧为 16 毫秒,第三帧为 18 毫秒,并且这种模式会重复。这平均为 16.666。但在第一帧中它低于目标时间(16
所以我得到了这个非常不稳定的动作,没有渲染帧,然后是一帧,然后是两帧,然后是无帧,然后是一帧,然后是两帧,然后继续。
我该如何解决这个问题?
【问题讨论】:
-
我建议阅读这篇文章:craftymind.com/2008/04/18/…
-
你为什么使用 Timer 而不是 Event.ENTER_FRAME ?
标签: actionscript-3 flash actionscript frame-rate