0

我正在尝试创建一个CALayer使用 a 的动画,CABasicAnimation以便为在两个角度之间以离散间隔旋转的对象设置动画。注意离散这个词:我不是想在两点之间创建一个连续的动画,而是我想计算每个角度之间的固定增量,以创造一种离散的运动感觉。

这是一个图表:

在此处输入图像描述

我已经研究过设置 的byValue属性CABasicAnimation,但我似乎无法让它工作,因为你不能在一个动画中使用fromValue,ToValue和。总是从零开始,所以我想这可能会被丢弃,但是当使用电流作为 the和 a时它仍然永远不会正确动画(任意选择但应该适用于测试)。关于如何实现这一点的任何想法?这是我正在使用的代码:byValuefromValueendAngletoValuebyValue0.1

anim = [CABasicAnimation animationWithKeyPath:@"currentEndAngle"];
anim.duration = 0.5f;
anim.timingFunction = [CAMediaTimingFunction functionWithName:kCAMediaTimingFunctionLinear];
anim.toValue = [NSNumber numberWithFloat:self.endAngle];
anim.byValue = [NSNumber numberWithFloat:0.1f];
anim.repeatCount = HUGE_VALF;
[anim setDelegate:self];
[self addAnimation:anim forKey:@"animKey"];

谢谢!

4

0 回答 0