gpt4 book ai didi

iPhone 核心动画 - 为 NSBezierPath 制作动画

转载 作者:行者123 更新时间:2023-12-03 19:44:34 25 4
gpt4 key购买 nike

我想在屏幕上绘制路径时对其进行动画处理,我假设核心动画是使用 NSBezierPath 的最佳方式,但我不确定如何实现这一点。

基本上,这个想法是有一条从 A 点到 B 点的路径,慢慢地从 A 到 B 进行动画处理,直到路径到达 B。关于如何做到这一点的一个很好的教程会很棒。

最佳答案

您可以使用 CGPath 创建 CAShapeLayer(例如可以从 UIBezierPath 创建)。

然后 CAShapeLayer 的 path 属性本身就是可动画的,您还可以使用可动画的 strokeStart 和StrokeEnd 属性创建更高级的动画(从 iOS 4.2 开始提供)

如何添加带有动画的随机线的图层的简单示例:

CAShapeLayer *l = [CAShapeLayer layer];
l.frame = self.view.bounds;
l.strokeColor = [UIColor redColor].CGColor;
CGPoint start = CGPointMake(arc4random()%300+10, arc4random()%400+40);
CGPoint end = CGPointMake(arc4random()%300+10, arc4random()%400+40);
UIBezierPath *path = [[UIBezierPath alloc] init];
[path moveToPoint:start];
[path addLineToPoint:end];
l.path = path.CGPath;
[path release];

CABasicAnimation *animation = [CABasicAnimation animationWithKeyPath:@"strokeEnd"];
animation.fromValue = [NSNumber numberWithFloat:0.0f];
animation.toValue = [NSNumber numberWithFloat:1.0f];
animation.duration = 3.0f;
[l addAnimation:animation forKey:@"myStroke"];
[self.view.layer addSublayer:l];

关于iPhone 核心动画 - 为 NSBezierPath 制作动画,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7966590/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com