请问box 2d需要怎么设置一下吗,为什么我写的代码没有用,代码如下:
- (void) createWorld
{
b2Vec2 gravity;
gravity.Set(0.0f, -5.0f);
_world = new b2World(gravity, true);
b2BodyDef testDef;
testDef.type = b2_dynamicBody;
testDef.position.Set(0, 0);
b2Body *body = world->CreateBody(&testDef);
b2CircleShape testShape;
b2FixtureDef testShapeDef;
testShapeDef.shape = &testShape;
testShapeDef.density = 80.0f;
testShapeDef.friction = 1.0f;
testShapeDef.restitution = 0.5f;
body->CreateFixture(&testShapeDef);
b2Vec2 force = b2Vec2(10.0f, 10.0f);
body->ApplyLinearImpulse(force, testDef.position);
self schedule:@selector(tick:) interval:0.2f];
}
- (void) tick : (double) dt
{
_world->Step(dt, 8, 6);
for (b2Body *b = world->GetBodyList(); b; b = b->GetNext())
{
NSLog(@"%f, %f", b->GetPosition().y, b->GetPosition().y);
}
}
打印出来的信息都是: 0.000000, 0.000000