2014-12-05 5 views
0

나는 충격으로 움직이기 시작하는 공을 가지고 있지만, 그렇게하기 전에 3 초 정도 기다려야합니다. 나는이 코드가 뭔가 생각할 것이라고 생각하지만 작동하지 않는다.대기 동작이 작동하지 않음

//add sprite to scene 
[self addChild:ball]; 

SKAction *wait = [SKAction waitForDuration:3]; 

[self runAction:wait]; 

//create vector 
CGVector myVector = CGVectorMake(10, 25); 
//apply vector to ballphysics body 
[ball.physicsBody applyImpulse:myVector]; 

답변

2

대기는 다른 작업에만 적용됩니다.

잠시 후 충동을 적용하려면이를 블록에 액션으로 추가해야합니다. 일단 wait 액션과 applyImpulse 액션이 생기면이 이벤트들을 하나의 시퀀스로 정리합니다. 이해가 되니?

//add sprite to scene 
    [self addChild:ball]; 

    SKAction *wait = [SKAction waitForDuration:3]; 

    SKAction *applyImpulse = [SKAction runBlock:^{ 
     //create vector 
     CGVector myVector = CGVectorMake(10, 25); 
     //apply vector to ballphysics body 
     [ball.physicsBody applyImpulse:myVector]; 
    }]; 

    [self runAction:[SKAction sequence:@[ 
     wait, 
     applyImpulse 
    ]]];