【发布时间】:2014-01-19 13:33:39
【问题描述】:
在典型的 Flash 环境中,帧率为 24。
如果执行一个对象在 2 秒内从 A 移动到 B,并且两个点相距 600 像素,这意味着该对象必须每帧移动 600/(24*2) = 12.5 像素。这使得移动就像跳跃或者滞后,效果不够好。
一种解决方案是提高帧率,如果设置为60,则速度为每帧5个像素,看起来好多了。
另一种解决方案是降低速度,如果将其设置为 2 或 1 像素/帧,看起来会很流畅,但这样会改变要求,这是不可接受的。
由于更改整个项目的帧率风险很高,我试图在不更改帧率的情况下解决这个问题。
我尝试的是轻松移动,代码基本上如下所示
obj.x -= destX/10;
obj.y -= destY/10;
我尝试通过各种方式对其进行改进,例如从零向量开始处理以使移动更自然,但没有任何效果可以达到提高刷新率的水平。
工作十小时后,我开始怀疑这样的问题无法以这种帧速率解决。
如果是真的,我就这样放弃。如果是假的,欢迎任何提示。
【问题讨论】: