spriteNode の回転に応じて 2 つのアニメーションを実行したいと考えています。値が負の場合はアニメーションの 1 つを実行し、正の場合は他のアニメーションを実行します。そして、なんとかそれを(一種の)行うことができましたが、問題があります。Animation1 が実行されていて、zRotation が正の値に変化した場合、永久に繰り返されるため、両方が実行されます。だから私はこれをしました:
NSMutableArray *walkingTextures = [NSMutableArray arrayWithCapacity:14];
for (int i = 1; i < 15; i++) {
NSString *textureName =
[NSString stringWithFormat:@"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"];
そして、停止したいとき:
[self removeActionForKey:@"animation1"];
しかし、それはアクションを実行し続けます。どうすればアクションを停止できますか? ありがとうございました!