【问题标题】:Different distance of CAAnimation object with the same speed?相同速度的CAAnimation对象的不同距离?
【发布时间】:2011-07-22 09:55:39
【问题描述】:

我有多个对象可以在不同距离的路径上移动。我怎样才能让所有物体的速度都一样?

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

没有用;(

距离越大,速度越快。

【问题讨论】:

  • 告诉我,所有物体同时到达终点,即使它们的感知速度与您设置的 0.5 不同,对吗?

标签: objective-c performance caanimation cakeyframeanimation


【解决方案1】:

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

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

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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2022-06-11
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-06-16
    相关资源
    最近更新 更多