我有多个物体在不同距离的路径上移动。如何才能获得所有对象的相同速度?
CAKeyframeAnimation * pathAnimation = [CAKeyframeAnimation animationWithKeyPath:@“position”]; pathAnimation.speed = 0.5;
不起作用;(
如果距离越大,速度就越快。
答案 0 :(得分:0)
我没有测试过这个想法,但似乎速度被定义为相对值。
如果可以计算路径长度,则可以将其重新计算为像素相对值。动画的速度为animation.speed = baseSpeedInPixels / thisPathLengthInPixels;
,其中 baseSpeedInPixels 是所需的基本速度常数。
可能会导致值大于1.0,如果动画类不理解这一点,您可以重新映射时间值以将速度保持在[0,1]范围内。