使用花栗鼠物理 - 我如何分辨两个碰撞物体的力量

时间:2010-04-22 18:45:14

标签: cocos2d-iphone chipmunk

如果我在花栗鼠中有两个物体(我正在使用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

1 个答案:

答案 0 :(得分:2)