【问题标题】:SKAction method fadeInWithDuration Not WorkingSKAction 方法fadeInWithDuration 不工作
【发布时间】:2014-07-20 12:57:40
【问题描述】:

我正在制作一个 Ball Node,我添加了 alpha 设置为 0.01 的 Ball Node,并且在文档中,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];
}

【问题讨论】:

    标签: ios objective-c sprite-kit skaction


    【解决方案1】:

    这是因为您对 self 运行 changeAlpha 操作,而不是 _ballNode。尝试改变

     [self runAction:ballAppearSequence];
    

     [_ballNode runAction:ballAppearSequence];
    

    【讨论】:

      猜你喜欢
      • 2014-04-30
      • 1970-01-01
      • 1970-01-01
      • 2015-01-04
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2017-07-07
      相关资源
      最近更新 更多