我在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);
提前致谢