在典型的闪存环境中,帧速率为24。
如果在2秒内执行一个从A移动到B的物体,并且这两个点距离是600像素,这意味着物体必须每帧移动600 /(24 * 2)= 12.5像素。这使得运动像跳跃一样或滞后,效果不够好。
一种解决方案是提高帧速率,如果设置为60,速度将是每帧5像素,它看起来好多了。
另一个解决方案是降低速度,如果将其设置为2或1像素/帧,它看起来会很平滑,但这样会改变不可接受的要求。
由于改变整个项目的帧率风险很高,我试图在不改变帧率的情况下解决这个问题。
我尝试的是轻松移动,代码基本上如下所示
obj.x -= destX/10;
obj.y -= destY/10;
我尝试以各种方式改进它,例如,从零矢量开始进程以使移动更自然,但没有任何效果可以达到提高刷新率的水平。
经过十个小时的工作后,我开始怀疑这个问题无法以这种帧率固定下来。
如果是真的,我会以这种方式放弃。如果这是假的,任何提示都是受欢迎的。
答案 0 :(得分:0)
人类大脑每秒可以观看大约60帧。我认为没有理由提高帧率是有风险的。每帧大于10-20像素的移动看起来不太好。提高帧率可能是您唯一的选择。
如果你真的想避免提高帧率,那么你唯一可以做的就是添加运动模糊,但这并没有多大区别。