我正在创建这样的地面物体:
// Define the ground body.
b2BodyDef groundBodyDef;
groundBodyDef.position.Set(0, 0); // bottom-left corner
// Call the body factory which allocates memory for the ground body
// from a pool and creates the ground box shape (also from a pool).
// The body is also added to the world.
b2Body* groundBody = world->CreateBody(&groundBodyDef);
// Define the ground box shape.
b2PolygonShape groundBox;
// bottom
groundBox.SetAsEdge(b2Vec2(0,0), b2Vec2(screenSize.width/PTM_RATIO,0));
groundBody->CreateFixture(&groundBox,0);
// top
groundBox.SetAsEdge(b2Vec2(0,screenSize.height/PTM_RATIO), b2Vec2(screenSize.width/PTM_RATIO,screenSize.height/PTM_RATIO));
groundBody->CreateFixture(&groundBox,0);
// left
groundBox.SetAsEdge(b2Vec2(0,screenSize.height/PTM_RATIO), b2Vec2(0,0));
groundBody->CreateFixture(&groundBox,0);
// right
groundBox.SetAsEdge(b2Vec2(screenSize.width/PTM_RATIO,screenSize.height/PTM_RATIO), b2Vec2(screenSize.width/PTM_RATIO,0));
groundBody->CreateFixture(&groundBox,0);
如何设置摩擦力?
谢谢。
最佳答案
您需要从夹具定义(b2FixtureDef)创建夹具,在其中可以设置特定的摩擦力。像这样:
b2FixtureDef fixtureDef;
fixtureDef.shape = &groundBox;
fixtureDef.density = 0.0f;
fixtureDef.friction = YOUR_FRICTION_VALUE;
groundBody->CreateFixture(&fixtureDef);
关于iphone - BOX2D静摩擦,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/6695228/