Как применить постоянную силу на корпусе Box2D? - PullRequest
4 голосов
/ 14 апреля 2011

Я делаю игру Box2d для iPhone.Мне нужно применить силу к телу, которое представляет моего главного героя.Тело на самом деле представляет собой прямоугольник поверх круга, соединенного с помощью вращающегося соединения.Я использую это в качестве каркаса для своего персонажа, который должен пройти игру (любые предложения или отзывы по этому вопросу также будут оценены).

Мне нужно, чтобы сила применялась непрерывно, чтобы он продолжал двигаться.Каков наилучший способ сделать это?

В настоящее время я применяю линейную скорость внутри тикового метода.

_world->Step(dt, 10, 10);

if(gamestarted)
{
    b2Vec2 force = b2Vec2(6, -3);
    _bottomBody->SetLinearVelocity(force);
}

Но будет ли эта сила продолжать складываться и ускорять тело?

1 Ответ

6 голосов
/ 14 апреля 2011

Кажется простым:

_bottomBody->ApplyForce(force, _bottomBody->GetPosition());

Если вы будете применять эту силу на каждом шаге, тело будет ускоряться в направлении вектора силы.

...