Desidero poter utilizzare una UIViewAnimationCurve per le rotazioni e un'altra per le modifiche di posizione. È possibile?Utilizzare due UIViewAnimationCurves diversi nella stessa animazione
Ad esempio (in pseudo codice);
// Begin animations
// Set rotation animation curve to EaseInOut
// Set position animation curve to Linear
// Make some changes to position
// Make some change to the angle of rotation
// Commit the animations
EDIT: (approccio CAAnimationGroup suggerito qui di seguito) - hanno creato 2 CABasicAnimations separati e un CAAnimationGroup comunque le animazioni non sono di partenza. Qualche idea?
CABasicAnimation *postionAnimation = [CABasicAnimation animationWithKeyPath:@"position"];
postionAnimation.timingFunction = [CAMediaTimingFunction functionWithName:kCAMediaTimingFunctionLinear];
postionAnimation.toValue = [NSValue valueWithCGPoint:[self transformPointToWorldSpaceFromViewSpace:self.spriteView.position]];
postionAnimation.delegate = self;
CABasicAnimation *rotationAnimation = [CABasicAnimation animationWithKeyPath:@"transform.z"];
rotationAnimation.timingFunction = [CAMediaTimingFunction functionWithName:kCAMediaTimingFunctionEaseInEaseOut];
rotationAnimation.toValue = [NSNumber numberWithFloat:self.spriteView.angle -= M_PI_2];
rotationAnimation.delegate = self;
CAAnimationGroup *animationsGroup = [CAAnimationGroup animation];
animationsGroup.duration = self.clockSpeed;
animationsGroup.animations = [NSArray arrayWithObjects:postionAnimation, rotationAnimation, nil];
// Perform the animation
[self.spriteView.layer addAnimation:animationsGroup forKey:nil];
Questo è un ottimo consiglio, grazie Duncan. Ci proveremo domani. Dave –
Ciao Duncan, fatto questo e funziona un piacere! L'unica domanda che ho è, va bene chiamare il mio metodo [self transformPointToViewSpaceFromWorldSpace: self.spriteView.position] all'interno del blocco? Funziona e gli strumenti non mostrano alcuna perdita, tuttavia ricordo vagamente qualcosa sull'uso di sé all'interno dei blocchi. Grazie ancora, Dave. –