Иногда, когда динамическое тело движется и сталкивается со статическим телом, динамически застревает и останавливается.
http://imageshack.us/photo/my-images/14/screenfgz.png/ (верхняя и нижняя линии - датчики, центральная форма - тело)
Для перемещения используется mouseJoint-> SetTarget (pos);
Настройки: Мир
b2Vec2 gravity = b2Vec2(0.f, 0.f);
bool doSleep = true;
world = new b2World(gravity, doSleep);
world->SetContinuousPhysics(false); // when using true, dynamic tunneling through other bodies
Динамическое тело
...
density = 1.f;
friction = 0.f;
restitution = 0.f;
...
body->SetBullet(true);
body->SetFixedRotation(true);
MouseJoint
b2Vec2 locationWorld = b2Vec2(pos.x/PTM_RATIO,pos.y/PTM_RATIO);
b2MouseJointDef md;
md.bodyA = groundBody;
md.bodyB = body;
md.target = body->GetPosition();
md.collideConnected = true;
md.maxForce = 1000 * body->GetMass();
md.dampingRatio = 0.1f;
md.frequencyHz = 2.f;
mouseJoint = (b2MouseJoint *)world->CreateJoint(&md);
Динамические и статические тела представляют собой прямоугольники.Вращение = 0.
Как убрать застревание?