2010-04-22 28 views
2

如果我有兩個對象在花栗鼠(我使用的是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

回答