J'ai rencontré un problème étrange concernant le positionnement des corps dans cocos2d/box2d.box2d Problème de position b2_staticBody
Si je définis le type b2BodyDef comme b2_staticBody, je ne peux pas définir de corps sur une position quelconque parmi les multiplicateurs de PTM_RATIO. Permettez-moi de vous expliquer:
#define PTM_RATIO 32.0
...
myBodyDef_1.type = b2_staticBody;
myBodyDef_1.position.Set(320.0/PTM_RATIO, 320.0/PTM_RATIO);
...
et
...
myBodyDef_1.type = b2_staticBody;
myBodyDef_1.position.Set(333.0/PTM_RATIO, 333.0/PTM_RATIO);
...
donne le même résultat. Pas de changement de position. La différence de 13 pixels ne veut rien dire.
Si je fais la différence plus que PTM_RATIO il apparaît 1 PTM_RATIO (32px).
Par exemple:
...
myBodyDef_1.type = b2_staticBody;
myBodyDef_1.position.Set(358.0/PTM_RATIO, 358.0/PTM_RATIO);
...
Diffrence de 38px, mais il semble que 32px (1 PTM_RATIO) loin.
J'ai essayé d'utiliser des valeurs directes comme 1.0 et 1.1 Cela n'a pas fonctionné. Je ne peux pas me débarrasser des multiplicateurs de PTM_RATIO. Une autre indication, si j'utilise b2_kinematicBody comme type, cela fonctionne parfaitement.
Une idée?
et quelle position est indiquée par le débogueur? – Andrew
320.0 et 333.0 apparaissent tous les deux sur 320. 358.0 apparaît sur 352 – erkanyildiz