我正在开发一个游戏(使用 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”中包含以下内容(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];
...但我有相同的结果。你有什么建议吗?谢谢你。