Box2D вращает кинематическое тело из моего собственного центра - PullRequest
0 голосов
/ 11 ноября 2011

Я хочу сделать что-то вроде этого:

Rotation

Любая идея о том, как этого добиться без изменения центра масс

Спасибо!

1 Ответ

2 голосов
/ 14 ноября 2011

Самый простой способ - расположить прибор так, чтобы он не был в центре положения тела.Например.если у вас есть это:

myPolygonShape.SetAsBox( 5, 1 );

, вы можете использовать это вместо:

b2Vec2 offset(2.5, 0);
myPolygonShape.SetAsBox( 5, 1, offset, 0 );

Если вам действительно нужно сохранить текущее расположение прибора, вам нужно вычислить, гденовая позиция тела должна быть, а затем использовать SetTransform, чтобы поместить его туда.

...