0

2 つの角度の間で離散的な間隔で回転するオブジェクトをアニメーション化するために、CALayerを使用するアニメーションを作成しようとしています。CABasicAnimation離散という言葉に注意してください。私は 2 点間の連続的なアニメーションを作成しようとしているのではなく、離散的な動きの感覚を作成するために、各角度間の一定の増分を計算したいと考えています。

これが図です:

ここに画像の説明を入力

byValueの属性の設定を調べましたが、 、、およびを 1 つのアニメーションでCABasicAnimation使用できないため、機能しないようです。は常にゼロからなので、削除できると思いますが、現在をおよびのとして使用すると、正しくアニメーション化されません(任意に選択されますが、テストでは機能するはずです)。これを実装する方法についてのアイデアはありますか? 私が使用しているコードは次のとおりです。fromValueToValuebyValuefromValueendAngletoValuebyValue0.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