0
我正在做一個遊戲(用Cocos2d 3.0和SpriteBuilder),其中一個角色粉碎另一個並獲得衝動。要做到這一點,我嘗試以下:如何在物體碰撞另一個物體後施加衝量? [Chipmunk]
-(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」(How to make a dynamic body static in Cocos2d v3.0 with Chipmunk):
[[_physicsNode space] addPostStepBlock:^{
[hero.physicsBody applyImpulse:ccp(0.0f, 9000)];
} key:hero];
...但我也有同樣的結果。你有任何建議嗎?謝謝。
其實我正在使用RC2。我還包括了Github的最新變化:' - (void)applyImpulse:(CGPoint)impulse {_body.velocity = cpvadd(_body.velocity,cpvmult(CCP_TO_CPV(impulse),1.0f/_body.mass));}' – Jesod
OK @slembcke這真的很奇怪。我用GitHub版本取代了CCPhysicsBody,CCPhysicsNode和CCPhysics + ObjectiveChipmunk,並且在模擬器中一切正常,但不適用於iPhone 5。 – Jesod