0

我有多个物体可以在不同距离的路径上移动。我怎样才能获得所有物体的相同速度?

CAKeyframeAnimation *pathAnimation = [CAKeyframeAnimation animationWithKeyPath:@"position"]; pathAnimation.speed = 0.5;

不工作;(

如果距离更大,则速度会增加。

4

1 回答 1

0

我还没有测试过这个想法,但是,似乎速度被定义为相对值。

如果您可以计算路径长度,则可以将其重新计算为像素相对值。动画的速度将是animation.speed = baseSpeedInPixels / thisPathLengthInPixels;baseSpeedInPixels所需的基本速度常数。

它可能导致值大于 1.0,如果动画类不理解这一点,您可以重新映射时序值以将速度保持在 [0,1] 范围内。

于 2011-07-22T11:14:41.247 回答