Я столкнулся со странной проблемой позиционирования тел в cocos2d / box2d.
Если я установлю тип b2BodyDef как b2_staticBody, я не смогу установить тела в любой позиции из множителей PTM_RATIO.Позвольте мне объяснить:
#define PTM_RATIO 32.0
...
myBodyDef_1.type = b2_staticBody;
myBodyDef_1.position.Set(320.0/PTM_RATIO, 320.0/PTM_RATIO);
...
и
...
myBodyDef_1.type = b2_staticBody;
myBodyDef_1.position.Set(333.0/PTM_RATIO, 333.0/PTM_RATIO);
...
дает тот же результат.Без изменений в положении.Разница в 13 пикселей ничего не значит.
Если я делаю разницу больше, чем PTM_RATIO, она появляется на расстоянии 1 PTM_RATIO (32 пикселя).
Например:
...
myBodyDef_1.type = b2_staticBody;
myBodyDef_1.position.Set(358.0/PTM_RATIO, 358.0/PTM_RATIO);
...
Разница38px, но отображается только 32px (1 PTM_RATIO).
Я пытался использовать прямые значения, такие как 1.0 и 1.1. Это не сработало.Я не могу избавиться от множителей PTM_RATIO.
Еще один совет, если я использую b2_kinematicBody в качестве типа, он отлично работает.
Есть идеи?