2011-05-12 9 views
4

私はcocos2dスプライトで2つのbox2dボディを作成しました....彼らは質量が異なり、同じ場所から落ちます。彼らは同時に落ちる。私の考えは、より軽い体は後で重いものに落ちるはずです.....しかし、彼らはしませんでした。cocos2d 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()); 
} 
+1

重複の可能性[box2d world ::すべてがとても軽い!!!](http://stackoverflow.com/questions/3905315/box2d-world-everything-is-so-light/3905414#3905414)。 「オブジェクトの密度は、速度に影響しません。」 –

+2

摩擦のない環境では、重量は加速に影響しません。羽根が地球上の岩よりも遅くなるのは、私たちが雰囲気を持っているからです。それがなければ(箱2dと月に)、岩と羽は同じ速度で落ちます。 – nash

+0

@nashと@坂本かずき:ありがとうございました – Rony

答えて

0

を発見しました。

異なる値を試してください。 0はダンピングがないことを意味しますが、最大値には制限がありませんので注意してください。

関連する問題