Box2d碰撞冲动

时间:2011-12-18 07:19:55

标签: collision-detection box2d

我想利用碰撞的冲动来计算碰撞中每个物体所造成的伤害。到目前为止,我有以下内容:

void FMContactListener::PostSolve(b2Contact* contact, const b2ContactImpulse* impulse) {

    // Can be up to 2 for polygon collision
    int count = contact->GetManifold()->pointCount;

    // My two sprites in the collision
    CCSprite *spriteA = (CCSprite*)contact->GetFixtureA()->GetBody()->GetUserData();
    CCSprite *spriteB = (CCSprite*)contact->GetFixtureB()->GetBody()->GetUserData();

    for (int i = 0; i < count; ++i) {
        b2ManifoldPoint point = contact->GetManifold()->points[i];
        // This is the impulse at this point
        float impulse = point.normalImpulse;
    }
}

这给了我每次调用PostSolve对冲突中每个点的冲动。

我不是物理学生,但是每个对象都没有自己的冲动,因为它在box2d步骤(比如1/60秒)的动量变化?如果我从两个物体的碰撞中得到一个冲动,这意味着什么?

0 个答案:

没有答案