0
私は、このコードスニペットを見つけた:アニメーションでCATransactionを使用するのはなぜですか?
[self setValue:direction forKey:@"currentDirection"];
CAKeyframeAnimation * animation = [CAKeyframeAnimation animationWithKeyPath:@"position"];
animation.path = path;
animation.duration = grids * gridWidth/[self speed];
animation.fillMode = kCAFillModeForwards;
animation.removedOnCompletion = NO;
animation.delegate = self;
animation.calculationMode = kCAAnimationLinear;
[self addAnimation:animation forKey:@"movement"];
self.position = destination;
[CATransaction begin];
[CATransaction setValue:[NSNumber numberWithFloat:_turn_duration]
forKey:kCATransactionAnimationDuration];
eyes.position = eyeDestination;
pupils.position = pupilDestination;
[CATransaction commit];
CGPathRelease(path);
ここCATransactionを使用してのポイントは何ですか?
したがって、CAKeyframeAnimationはアニメーションブロックですか? – Thanks
いいえ、それはアニメーションです:Dアニメーションは、明示的または暗黙的にオブジェクトに適用されます。アニメーションをまとめてオブジェクトに明示的に適用することができます。今あなたがしたいのは、Core Animation Programming Guide、特に「アニメーション」の章から始まり、今後の予定です。 http://developer.apple.com/documentation/Cocoa/Conceptual/CoreAnimation_guide/Articles/AnimatingLayers.html –