Box2d碰撞检测 - 告诉它碰撞的边缘?

时间:2011-09-02 12:27:38

标签: iphone xcode box2d

我正在使用box2d为我的游戏实现碰撞检测。

在大多数情况下,任何类型的碰撞检测都会像“移除敌人”或类似的东西一样,无论方向如何。

在我的情况下,碰撞检测用于防止英雄穿过墙壁。 所以,重要的是要知道他从哪个方向撞墙,所以我可以正确地更新他的位置。我现在的模板代码是:

    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,我们可以告诉“英雄”击中物体的方向?

提前致谢。

1 个答案:

答案 0 :(得分:0)

检查this并使用它是否有效