2012-06-16 4 views
0

나는 본문을 가지고 있습니다. 두 번째 몸체가 충돌 한 후첫 번째 하나는 이되어야합니다. 충돌 이전과 같은 방식으로 이동합니다..충돌 후 b2Body 상태를 복원하는 방법은 무엇입니까?

는 지금 보이는 방법 :

1) 내가 contactListener :: BeginContact (..) {}에서 충돌을 감지;

2) 삭제할 두 번째 본문을 저장하고 먼저 속도와 각도를 복원합니다.

3) 결과

-(void) update: (ccTime) dt { 
int32 velocityIterations = 8; 
int32 positionIterations = 1; 
_world->Step(dt, velocityIterations, positionIterations); 
... 
world->DestroyBody(secondBody); 
firstBody->SetLinearVelocity(linearVelocityBeforeTouching); 
firstBody->SetTransform(firstBody->GetPosition(), angleBeforeTouching); 
... 
} 

동일한 방향으로 제 본체가 이동하지만, 충돌 사고로 회전

답변

1

두 시체 contact->에서 setEnabled가 할 수있는 충돌하면 충돌 리 스너의 PreSolve에서 (false) 기본 충돌 응답을 취소합니다.

+0

정확히 내가 필요한 :) :)! – Buron

관련 문제