加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

cocos2d-iphone – cocos2d box2d:不同的质量,但身体同时下降

发布时间:2020-12-14 18:56:24 所属栏目:百科 来源:网络整理
导读:我用cocos2d精灵创造了2个box2d的身体….他们有不同的质量,他们从世界上的同一个地方坠落.但他们同时倒下了.我的想法是较轻的身体应该落后于较重的身体…..但他们没有. for (int k=1;k=2; k++) { int idx = (CCRANDOM_0_1() .5 ? 0:1); int idy = (CCRANDOM_
我用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());
}

解决方法

好吧,Galileo Galilei发现所有物体以相同的速度下落……

https://web.archive.org/web/20100728100438/http://galitzin.mines.edu/INTROGP/notes_template.jsp?url=GRAV%2FNOTES%2Ffallb.html&page=Gravity%3A%20Notes%3A%20Falling%20Bodies

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读