Question

J'aimerais de l'aide sur certaines stratégies pour séquencer certaines animations.

J'ai sous-classé UIImageView afin de pouvoir écrire des actions d'animation personnalisées sur une image. J'ai implémenté quelques méthodes à utiliser comme actions que je pourrais faire appel à mon image exemple:

-(void)rotateAnim; //rotates the image by a few degrees using a CGAffine Transform

-(void)numbersFlashAnim; //uses the UIImageVew.animationImages array for a 14 frame animation.

-(void)moveLeftAnim; //uses another CGAffine Transform to change the imageView's position.

Dans ma méthode viewDidLoad, je crée une instance de ma sous-classe UIImageView. Quels sont les moyens d'appeler ces animations en séquence?

Je pensais utiliser un NSTimer pour gérer les animations, mais je ne savais pas si vous pouviez écrire un objet NSTimer pour gérer plusieurs appels de méthode.

exemple:

[imageView rotateAnim]; //when this animation is done, I want to call:
[imageView numbersFlashAnim];

J'ai vu plusieurs questions concernant l'utilisation d'un NSTimer, mais aucune ne concerne spécifiquement ce problème. Remarque: j'ai vu que les développeurs sur le site d'apple recommandent également l'utilisation de performSelector: withObject: afterDelay: dans certains cas, mais je me demandais si cela offrirait suffisamment de flexibilité.

De plus, j’ai déjà jeté un coup d’œil au framework Cocos2d, et même si je peux utiliser leurs méthodes ~ (actions de séquence: etc,) je choisis de résoudre ce problème avec UIKit / Foundation, etc.

Était-ce utile?

La solution

Utilisez-vous l’animation? Je veux dire que vous pouvez faire pivoter votre image à l'intérieur [UIView beginAnimations: (NSString *) contexte d'animationID: (void *) context] block. Vous pouvez y ajouter une méthode de délégué qui sera appelée à la fin de l'animation en cours. Et là, vous pouvez appeler vos numéros FlashAnim. (Désolé pour mon anglais ;-))

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top