2014-12-05 3 views
0

У меня есть мяч, который начинает двигаться с импульсом, но я хочу, чтобы он подождал 3 секунды, прежде чем делать это. Я полагаю, что этот код думал о чем-то, но он не работает.wait действие не работает

//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 
    ]]]; 
Смежные вопросы