2012-06-16 14 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

當兩個物體發生碰撞,你可以做非接觸>的setEnabled (false)在碰撞監聽器的PreSolve中取消默認的碰撞響應。

+0

確切的我需要:)! – Buron