如果我在花栗鼠中有两个物体(我正在使用 cocos2d-iphone),一旦我检测到它们发生碰撞,我怎么知道它们相互撞击的力度有多大?
我希望他们的力量(相对于速度)知道碰撞的损害。
我看过关于如何做到这一点的讨论,但从来没有具体的工作代码(而且我无法让它工作,即使我认为我知道我在做什么。)为了完整起见,这是我用来确定碰撞的速度,那么,我将如何准确地检测碰撞的力?
- (BOOL) handleCollisionBetweenBalls:(CollisionMoment)moment arbiter:(cpArbiter*)arb space:(cpSpace*)space {
JjrFootprint(@"handleCollisionBetweenBalls");
if (moment == COLLISION_BEGIN) {
JjrLog(@"Balls Collide");
CP_ARBITER_GET_SHAPES(arb, a, b);
cpVect va;
cpVect vb;
va = a->body->v;
vb = b->body->v;
cpVect vNet = cpvadd(va,vb);
cpFloat Length = cpvlength(vNet);
// 7 = barely touching
// 1000 = hard
if (Length > 100) {
[[SimpleAudioEngine sharedEngine] playEffect:@"board.wav"];
}
}
return YES;
}
谢谢,JJ