目前我创建了一个像这样的 b2Fixture:
b2PolygonShape spriteShape;
int num = 3;
b2Vec2 verts[] = {
b2Vec2(-29.5f / PTM_RATIO, -49.0f / PTM_RATIO),
b2Vec2(10.0f / PTM_RATIO, -49.0f / PTM_RATIO),
b2Vec2(34.2f / PTM_RATIO, -9.2f / PTM_RATIO),
};
spriteShape.Set(verts, num);
bodyFixture.shape = &spriteShape;
bodyCharacter->CreateFixture(&bodyFixture);
问题是在视网膜显示器上它的大小似乎翻了一番,这是有原因的吗?如果是这样,我该如何让它保持相同的大小,这样它就不会被任何东西弄乱设备?
谢谢!
Best Answer-推荐答案 strong>
我遇到了和你一样的问题。我已将内容比例因子与 PTM_RATIO 相乘。
你可以试试下面的代码并检查一下......它对我有用
int num = 3;
b2Vec2 verts[] = {
b2Vec2(-29.5f / ( PTM_RATIO * CC_CONTENT_SCALE_FACTOR() ), -49.0f / ( PTM_RATIO * CC_CONTENT_SCALE_FACTOR() )),
b2Vec2(10.0f / ( PTM_RATIO * CC_CONTENT_SCALE_FACTOR() ), -49.0f / ( PTM_RATIO * CC_CONTENT_SCALE_FACTOR() )),
b2Vec2(34.2f / ( PTM_RATIO * CC_CONTENT_SCALE_FACTOR() ), -9.2f / ( PTM_RATIO * CC_CONTENT_SCALE_FACTOR() )),
};
关于ios - 用于视网膜显示的 b2PolygonShape/b2Fixture 尺寸加倍?,我们在Stack Overflow上找到一个类似的问题:
https://stackoverflow.com/questions/8934475/
|