2014-12-05 87 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

等待仅适用于其他操作。

如果您想在等待后应用冲动,则需要将其作为动作添加到块中。一旦你有你的等待行动,以及你的应用脉冲行动,那么我们把它们放在一起。合理?

//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 
    ]]];