Как применить импульс после столкновения объекта с другим? [Бурундук]

Я работаю над игрой (с Cocos2d 3.0 и SpriteBuilder), в которой персонаж разбивает другого и получает импульс. Для этого я пытаюсь следующее:

-(BOOL)ccPhysicsCollisionPreSolve:(CCPhysicsCollisionPair *)pair hero:(CCNode *)hero goal:(CCNode *)goal {
    [hero.physicsBody applyImpulse:ccp(0.0f, 9000)];
    return TRUE;
}

А также:

-(void)ccPhysicsCollisionPostSolve:(CCPhysicsCollisionPair *)pair hero:(CCNode *)hero goal:(CCNode *)goal {
    [hero.physicsBody applyImpulse:ccp(0.0f, 9000)];
}

Но когда вызывается метод столкновения, персонаж не всегда получает импульс. Я также попытался включить следующее в "PostSolve" ( Как сделать динамическое тело статичным в Cocos2d v3.0 с помощью Chipmunk):

[[_physicsNode space] addPostStepBlock:^{
        [hero.physicsBody applyImpulse:ccp(0.0f, 9000)];
    } key:hero];

... но у меня такой же результат. Есть ли у вас какие-либо советы? Спасибо.

1 ответ

Была довольно неловкая ошибка копирования-вставки в apply impulse в v3 rc1. Это исправлено в RC2, хотя.

Другие вопросы по тегам