Box2d的身体尺寸在ipad非视网膜中更高

时间:2014-09-13 07:37:05

标签: ipad cocos2d-x box2d

我在cocos2dX中开发游戏。我使用box2d进行物理模拟。我正在创建一个宽度为768的矩形体,并在ipad和ipad视网膜中运行它。在ipad视网膜中,身体宽度和设备宽度是相同的。但在ipad(非视网膜)中,身体宽度是设备宽度的两倍。但是,如果我显示一个精灵,它会发生在相反的方向(对于精灵我理解为什么会发生)。但对于box2d机构,为什么会发生相反的情况呢?如何解决这个问题?

这是我的代码。

我已将PTM_RATIO设置为64。

    b2BodyDef blockBodyDef;
    blockBodyDef.type = b2_staticBody;
    blockBodyDef.position.Set(H_screenSize.width/2/PTM_RATIO,H_screenSize.height/2/PTM_RATIO);

    //blockBodyDef.userData = block_sprite;
    H_block_body = H_world->CreateBody(&blockBodyDef);

    b2PolygonShape blockshape;
    blockshape.SetAsBox(768/PTM_RATIO,B_HEIGHT/PTM_RATIO);
    b2FixtureDef blockShapeDef;
    blockShapeDef.shape = &blockshape;
    blockShapeDef.density = 100.0f;
    blockShapeDef.friction = 10.0f;
    blockShapeDef.restitution = 0.0f;
    H_block_body->CreateFixture(&blockShapeDef);

提前致谢

0 个答案:

没有答案