Как применить импульс после столкновения объекта с другим? [Бурундук]
Я работаю над игрой (с 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, хотя.