ios – 停止SKAction,RepeatsForever – Sprite Kit

前端之家收集整理的这篇文章主要介绍了ios – 停止SKAction,RepeatsForever – Sprite Kit前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我想在我的spriteNode上运行两个动画,具体取决于它的旋转.如果值为负,则运行其中一个动画,如果它是正的,则运行另一个.我设法做到这一点(但是我有一个问题).如果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"];

但是它一直在运行,那么我该怎么停止呢?谢谢!

解决方法

方法应该在运行SKAction的节点上调用.

更改

[self removeActionForKey:@"animation1"];

[sprite removeActionForKey:@"animation1"];
原文链接:https://www.f2er.com/iOS/330331.html

猜你在找的iOS相关文章