【问题标题】:Change CAShapeLayer path with stimulate animation使用刺激动画更改 CAShapeLayer 路径
【发布时间】:2015-04-20 07:06:17
【问题描述】:

我正在尝试制作这样的动画:

我尝试通过使用CABasic动画更改CA Shape层路径动画,它的工作,但无法实现刺激。我尝试使用 CA Keyframe 动画,但还是不行。如果有人有想法分享。

【问题讨论】:

  • 你能分享一些你尝试过的代码以及你认为不能使用它的代码吗?
  • @SandyChapman 这里是代码' CABasicAnimation *pathAnimation = [CABasicAnimation animationWithKeyPath:@"path"]; [pathAnimation setDelegate:self]; pathAnimation.duration = 0.8; pathAnimation.fromValue = (__bridge id)oldPath; pathAnimation.toValue = (__bridge id)newPath; [pathAnimation setTimingFunction:[CAMediaTimingFunction functionWithControlPoints:0.5 :1.4 :1 :1]]; [pathLayer addAnimation:pathAnimation forKey:@"path"]; '
  • 使用这种方法可以根据点的变化改变每条路径。

标签: ios objective-c calayer cabasicanimation cashapelayer


【解决方案1】:

如果要实现动画。恐怕你需要一一改变你的线路的路径。

  1. 路径在 y 轴上全为 0。
  2. 第一个动画为从全 0 到只有全 0 的路径(除了第一个节点)设置动画。
  3. 一段时间后(使用 CATiming 协议来指定时间),将路径从 2 中的目标设置为除第一个 2 节点外全为 0 的路径。
  4. 重复 3 直到所有节点都被动画化。

你可以用CAAnimationGroup对path的所有动画进行分组。

【讨论】:

  • 是的,你很聪明。但我已经尝试过了。我需要单独检查组动画。但为此,我也需要为每个节点创建单独的路径。所以不会好。所以我需要使用其他方法。
  • 我认为这是不可避免的,这样的动画值得代码的复杂性。如果您有更好的想法,请告诉我。提前致谢
  • 嘿朋友,我用同样的方法做了一些棘手的想法,我的意思是用刺激动画一个一个地改变路径。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2017-08-22
相关资源
最近更新 更多