2011-09-02 109 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