2010-04-22 2 views
2

chipmunk에 두 개의 객체가 있다면 (나는 cocos2d-iphone을 사용하고 있습니다) 일단 충돌 한 것을 발견하면 어떻게하면 얼마나 어려운지 말할 수 있습니다 서로 치는거야?Chipmunk 물리학 사용하기 - 두 충돌 객체의 힘을 어떻게 알 수 있습니까?

나는 충돌의 손상을 알기 위해 그들의 힘 (속도 대비)을 원합니다.

이 작업을 수행하는 방법에 대한 토론이 있었지만 구체적인 작업 코드는 없었습니다. (그리고 내가 잘하고 있다고 생각했지만 작업을 수행 할 수 없었습니다.) 완성을 위해 다음 코드가 있습니다. 나는 충돌의 속도를 결정하기 위해 사용하고 있습니다. 그래서 충돌의 힘을 어떻게 탐지할까요?

- (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; 
} 

감사합니다, 당신은 콜백을 해결 후 내부에서 충돌 충격을받을 수 있습니다

답변