2011-09-02 108 views
0

我使用box2d來實現我的遊戲的碰撞檢測。Box2d Collision Detction - 分辨碰撞的邊緣?

在大多數情況下,任何類型的碰撞檢測確實像「刪除敵」或類似的東西是一致的方向無關的。

在我的情況下,碰撞檢測用於防止英雄穿過牆壁。 因此,瞭解他從哪個方向撞牆是很重要的,所以我可以正確更新他的位置。我現在的模板代碼是:

if(!collided){ 
    rabbit.position = ccp(rabbit.position.x + (pitch/4),rabbit.position.y + ((roll/4)*(-1))); 
} 
else if(abs(roll)>abs(pitch)){ 
    rabbit.position = ccp(rabbit.position.x + (pitch/4) ,rabbit.position.y); 
} 
else if(abs(pitch)>abs(roll)){ 
    rabbit.position = ccp(rabbit.position.x,rabbit.position.y + ((roll/4)*(-1))); 
} 
else{ 
    rabbit.position = ccp(rabbit.position.x,rabbit.position.y); 
} 

當然,這段代碼有很多問題,在這裏列出的代碼太多了。

那麼,有沒有什麼辦法,使用Box2D的,我們可以告訴從「英雄」打對象的方向?

在此先感謝。

回答

0

檢查this,如果它的工作原理

+0

感謝名單,但我依據,準確的教程建我當前的代碼使用.. – CosmicRabbitMediaInc