box2d:为什么球可以';你不会在缓坡上反弹吗?
我创建了一个摩擦为0.f,恢复为1.0的球,如下所示:box2d:为什么球可以';你不会在缓坡上反弹吗?,box2d,Box2d,我创建了一个摩擦为0.f,恢复为1.0的球,如下所示: // Create shape definition and add to body b2FixtureDef ballShapeDef; ballShapeDef.shape = &circle; ballShapeDef.density = 1.f; ballShapeDef.friction = 0.f; ballShapeDef.restitution = 1.0f; //ba
// Create shape definition and add to body
b2FixtureDef ballShapeDef;
ballShapeDef.shape = &circle;
ballShapeDef.density = 1.f;
ballShapeDef.friction = 0.f;
ballShapeDef.restitution = 1.0f;
//ballBodyDef.bullet = YES;
_ballFixture = ballBody->CreateFixture(&ballShapeDef);
// Give shape initial impulse...
b2Vec2 force = b2Vec2(0, 1.2f);
ballBody->ApplyLinearImpulse(force, ballBodyDef.position);
碰撞发生时,球很好地弹离墙壁。但是当它与一个逐渐倾斜的斜坡碰撞时,它会像在冰上一样滑动,就像这样:
// Create shape definition and add to body
b2FixtureDef ballShapeDef;
ballShapeDef.shape = &circle;
ballShapeDef.density = 1.f;
ballShapeDef.friction = 0.f;
ballShapeDef.restitution = 1.0f;
//ballBodyDef.bullet = YES;
_ballFixture = ballBody->CreateFixture(&ballShapeDef);
// Give shape initial impulse...
b2Vec2 force = b2Vec2(0, 1.2f);
ballBody->ApplyLinearImpulse(force, ballBodyDef.position);
斜坡的物理特性是:
密度:1
摩擦力:0
归还:1
如何使球反弹离开斜坡?如果两个表面都没有摩擦力,则当球以一定角度撞击时,没有理由“反弹”。试着让两个表面都有一点摩擦。试着让球或斜坡恢复原状