Spritekit 动画在 iOS7 中不起作用,但在 iOS8 中起作用

Spritekit animation doesn't work in iOS7 but does in iOS8

我制作了一个游戏来教孩子们如何数数。当您点击正确的数字时,它会爆炸,下一个开始有一个发光的动画作为提示。

不久前我注意到这个特定的动画在 iOS7 中不起作用。

这是它的样子:

我用一个 NSTimer 做了这个,那个和一个带有动画的方法:

-(void)addGlow
{
    if (!timer) {
        [self startTimer];
    }
    SKSpriteNode* back = [SKSpriteNode spriteNodeWithTexture:self.body.texture];
    back.blendMode = SKBlendModeAdd;
    back.position = CGPointMake(0, 0 - 2);
    [back runAction:[SKAction scaleTo:0.72 duration:0] completion:nil];
    SKAction* group = [SKAction group:@[[SKAction scaleTo:1 duration:0.8],[SKAction fadeAlphaTo:0 duration:0.8]]];
    [self addChild:back];
    [back runAction:[SKAction sequence:@[group,[SKAction removeFromParent]]]];
}

这是我的启动方法:

-(void)startTimer
{
    timer = [NSTimer scheduledTimerWithTimeInterval:3.0 target:self selector:@selector(addGlow) userInfo:nil repeats:YES];
}

我确实对其进行了调试,并且在两个 iOS 版本上调用该方法都没有错误。关于如何发现正在发生的事情的任何想法?

我看到你没有设置 zPosition。确保它包含您期望的内容。 Apple 在 iOS 7 和 8 之间对响应链进行了更改,因此如果他们更改了 zPositions 的初始化方式,我不会感到惊讶。