OGeek|极客世界-中国程序员成长平台

标题: ios - 用于视网膜显示的 b2PolygonShape/b2Fixture 尺寸加倍? [打印本页]

作者: 菜鸟教程小白    时间: 2022-12-12 18:57
标题: ios - 用于视网膜显示的 b2PolygonShape/b2Fixture 尺寸加倍?

目前我创建了一个像这样的 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-推荐答案


我遇到了和你一样的问题。我已将内容比例因子与 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/






欢迎光临 OGeek|极客世界-中国程序员成长平台 (http://sqlite.in/) Powered by Discuz! X3.4