2 つの角度の間で離散的な間隔で回転するオブジェクトをアニメーション化するために、CALayer
を使用するアニメーションを作成しようとしています。CABasicAnimation
離散という言葉に注意してください。私は 2 点間の連続的なアニメーションを作成しようとしているのではなく、離散的な動きの感覚を作成するために、各角度間の一定の増分を計算したいと考えています。
これが図です:
byValue
の属性の設定を調べましたが、 、、およびを 1 つのアニメーションでCABasicAnimation
使用できないため、機能しないようです。は常にゼロからなので、削除できると思いますが、現在をおよびのとして使用すると、正しくアニメーション化されません(任意に選択されますが、テストでは機能するはずです)。これを実装する方法についてのアイデアはありますか? 私が使用しているコードは次のとおりです。fromValue
ToValue
byValue
fromValue
endAngle
toValue
byValue
0.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"];
ありがとう!