2014-07-20 3 views
1

볼 노드를 표시하는 데 노력하고 있습니다. 볼 노드에 알파를 0.01로 설정하고 문서에서 fadeInWithDuration을 사용하여 알파 1.0을 만들어야합니다. 나는 중단 점을 넣고 메서드가 호출되고 있지만 볼 노드가 나타나지 않습니다.SKAction 메서드 fadeInWithDuration 작동하지 않음

-(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]; 
} 

답변

1
selfchangeAlpha 조치를 실행하기 때문이다

, 대신 _ballNode.

[self runAction:ballAppearSequence]; 

[_ballNode runAction:ballAppearSequence]; 
을 변경하려고