我用cocos2d精灵创造了2个box2d的身体....他们有不同的质量,他们从世界上的同一个地方坠落。但他们同时倒下了。我的想法是较轻的身体应该落后于较重的身体.....但他们没有。
for (int k=1;k<=2; k++) {
int idx = (CCRANDOM_0_1() > .5 ? 0:1);
int idy = (CCRANDOM_0_1() > .5 ? 0:1);
CCSprite *sprite = [CCSprite spriteWithBatchNode:batch rect:CGRectMake(32 * idx,32 * idy,32,32)];
[batch addChild:sprite];
sprite.position = ccp( p.x+(32*k), p.y);
b2BodyDef bodyDef;
bodyDef.type = b2_dynamicBody;
bodyDef.position.Set(( p.x+(32*k))/PTM_RATIO, p.y/PTM_RATIO);
bodyDef.userData = sprite;
b2Body *body = world->CreateBody(&bodyDef);
b2PolygonShape dynamicBox;
dynamicBox.SetAsBox(.5f, .5f);//These are mid points for our 1m box
b2FixtureDef fixtureDef;
fixtureDef.shape = &dynamicBox;
fixtureDef.density = 1.0f/k;
fixtureDef.friction = 0.3f;
body->CreateFixture(&fixtureDef);
NSLog(@"%f",body->GetMass());
}
答案 0 :(得分:18)
嗯,Galileo Galilei发现所有物体以相同的速度下落......
答案 1 :(得分:0)
您可以在这些物体上设置不同的阻尼。
尝试不同的值。 0表示没有阻尼,但最大值不受限制,所以要小心。