Я создал 2 тела box2d со спрайтом cocos2d .... они имеют разную массу и падают из одного места в мире.но они падают на землю одновременно.моя идея состоит в том, что более легкое тело должно упасть позже, чем более тяжелое ..... но они этого не сделали.
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());
}