Объект с постоянной скоростью в моделировании Box2D

Я хотел бы сделать кирпичную игру как игру, но с кирпичами, которые реагируют на физику.
Я установил для мира значение 0, а у кирпичей большой линейный и угловой набор.

Но у меня проблема с мячом. Я бы хотел, чтобы мой мяч постоянно имел одинаковую скорость. Даже после столкновения с кирпичами, стенами и веслами (да, у меня их 2). Я знаю, что это не так, как работает физика.

Но есть ли способ сделать так, чтобы мяч не терял скорость при контакте с некоторыми телами? И заставить шарик отскакивать от кирпичей мгновенно, не теряя своей энергии, а прикладывая к ним силу (кирпичи)?

0

Решение

Я тоже искал это, но в AS3 — я нашел то, что хотел для c ++. После прочтения, я думаю, что это то, что вы хотели, чтобы перемещать объект с постоянной скоростью, используя физику Box2D. Я также опубликую ссылку, хотя не стоит отвечать на вопросы ссылками, так как они могут сломаться в будущем. Постоянная скорость

  b2Vec2 vel = body->GetLinearVelocity();
float desiredVel = 0;
switch ( moveState )
{
case MS_LEFT:  desiredVel = -5; break;
case MS_STOP:  desiredVel =  0; break;
case MS_RIGHT: desiredVel =  5; break;
}
float velChange = desiredVel - vel.x;
float impulse = body->GetMass() * velChange; //disregard time factor
body->ApplyLinearImpulse( b2Vec2(impulse,0), body->GetWorldCenter() );
0

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]