J'essaie de joindre deux corps box2d qui sont séparés sur une distance fixe. Les deux corps ne peuvent pas tourner eux-mêmes, et la jointure devrait avoir une rotation non plus. L'écart entre les corps doit permettre à d'autres corps de passer à travers.Fixation de deux corps box2D solidement ensemble
J'ai actuellement une configuration b2revoluteJoint comme ceci:
b2RevoluteJointDef rjd;
rjd.lowerAngle = 0.0f;
rjd.upperAngle = 0.0f;
rjd.Initialize(body2, body1, body2->GetPosition());
rjd.collideConnected = false;
world->CreateJoint(&rjd);
Cependant l'articulation est pas complètement rigide et les corps ont tendance à se déplacer un peu juste par rapport à l'autre. Y a-t-il une meilleure manière de faire cela?
J'ai aussi essayé le b2WeldJoint qui ne fonctionne pas comme je suppose que les deux corps doivent se chevaucher ...
EDIT:
Le b2WeldJoint J'ai essayé est:
b2WeldJointDef wj;
wj.Initialize(body1, body2, body1->GetWorldCenter());
world->CreateJoint(&wj);
Cependant quand je bouge un corps, l'autre reste dans sa position.
Constantinius, j'ai mis à jour ma question avec un exemple b2WeldJoint que j'ai essayé sans succès. – Alex
Votre utilisation du joint de soudure me semble correcte. Avez-vous essayé de faire deux formes et de les ajouter à un seul corps? – Constantinius