b2PolygonShape / b2Fixture удваивается в размере для отображения сетчатки? - PullRequest
2 голосов
/ 20 января 2012

В настоящее время я создаю 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);

Проблема в том, что на дисплее сетчатки он, кажется, удваивается в размере, есть ли причина для этого, и если да, то как мне сделать так, чтобы он оставался одинаковым по размеру, чтобы не запутаться ни на одном устройство?

Спасибо!

Ответы [ 2 ]

4 голосов
/ 20 января 2012

Я столкнулся с той же проблемой, что и у вас.Я умножил масштабный коэффициент контента на 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() )),
};
0 голосов
/ 20 января 2012

Я полагаю, что PTM_RATIO не умножается на CC_CONTENT_SCALE_FACTOR ().В этой статье приведен ряд возможных решений .

...