Arrêtez SKAction qui répèteForever – Sprite Kit

Je veux exécuter deux animations sur mon spriteNode en fonction de sa rotation. Si la valeur est négative, lancez l'une des animations, si elle est positive, exécutez l'autre. Et j'ai réussi à faire ça (genre de) mais j'ai un problème. Si Animation1 est en cours d'exécution et si zRotation devient positif, ils s'exécutent tous deux car ils se répètent indéfiniment. Alors j'ai fait ceci:

NSMutableArray *walkingTextures = [NSMutableArray arrayWithCapacity:14]; for (int i = 1; i < 15; i++) { NSSsortingng *textureName = [NSSsortingng ssortingngWithFormat:@"character%d", i]; SKTexture *texture = [SKTexture textureWithImageNamed:textureName]; [walkingTextures addObject:texture]; } SKAction *spriteAnimation = [SKAction animateWithTextures:Textures timePerFrame:0.04]; repeatWalkAnimation = [SKAction repeatActionForever:spriteAnimation]; [sprite runAction:repeatWalkAnimation withKey:@"animation1"]; 

et quand je veux que ça s'arrête:

  [self removeActionForKey:@"animation1"]; 

mais il continue d'exécuter l'action, comment puis-je arrêter l'action, alors? Je vous remercie!

La méthode est supposée être appelée sur le noeud sur lequel s'exécute le SKAction.

Changement

 [self removeActionForKey:@"animation1"]; 

à

 [sprite removeActionForKey:@"animation1"];