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

时间:2015-06-02 16:46:57

标签: objective-c sprite-kit skaction

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

前段时间我发现这个特定的动画在iOS7中不起作用。

这是它的样子: animation

我使用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版本上调用该方法没有错误。关于如何发现正在发生的事情的任何想法?

1 个答案:

答案 0 :(得分:1)

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