Ios SKAction方法FadeInWith持续时间不工作

Ios SKAction方法FadeInWith持续时间不工作,ios,objective-c,sprite-kit,skaction,Ios,Objective C,Sprite Kit,Skaction,我正在制作一个球节点,我添加的球节点的alpha设置为0.01,在文档中fadeInWithDuration应该使alpha为1.0。我放置了一个断点,并且调用了该方法,但它不会使球节点出现 -(void)addBallToFrame { _ballNode = [SKSpriteNode spriteNodeWithImageNamed:@"Ball"]; SKAction *ballPosition = [SKAction runBlock:^(void) {

我正在制作一个球节点,我添加的球节点的alpha设置为0.01,在文档中fadeInWithDuration应该使alpha为1.0。我放置了一个断点,并且调用了该方法,但它不会使球节点出现

-(void)addBallToFrame {
    _ballNode = [SKSpriteNode spriteNodeWithImageNamed:@"Ball"];
    SKAction *ballPosition = [SKAction runBlock:^(void) {
        _ballNode.position = CGPointMake(CGRectGetMidX(self.frame), 295*ratio);
        [_ballNode setZPosition:10];
        [_ballNode setAlpha:0.01];
        [self addChild:_ballNode];
    }];
    SKAction *timeForBallToAppear = [SKAction waitForDuration:1.5];
    SKAction *changeAlpha = [SKAction fadeInWithDuration:0.5];
    SKAction *ballAppearSequence = [SKAction sequence:@[timeForBallToAppear, ballPosition, changeAlpha]];   
    [self runAction:ballAppearSequence];
    _ballNode.zPosition = 10;
    [_ballNode setPhysicsBody:[SKPhysicsBody bodyWithCircleOfRadius:_ballNode.frame.size.height / 2.0]];
    _ballNode.physicsBody.categoryBitMask = BALL_CATEGORY;
    _ballNode.physicsBody.collisionBitMask = WALL_CATEGORY | PLAYER_ONE_CATEGORY | PLAYER_TWO_CATEGORY | GOAL_POST_CATEGORY;
    _ballNode.physicsBody.contactTestBitMask = GOAL_ONE_CATEGORY |GOAL_TWO_CATEGORY;
    _ballNode.physicsBody.friction = 0.0;
    _ballNode.physicsBody.linearDamping = 0.0;
}
-(void)removeBallFromFrame {
    _ballNode.position = CGPointMake(-100, -100);
    [self.ballNode removeFromParent];
}

这是因为您在
self
上运行
changeapha
操作,而不是
\u ballNode
。尝试改变

 [self runAction:ballAppearSequence];

 [_ballNode runAction:ballAppearSequence];