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

0

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

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

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

Теги:
game-physics
box2d
physics-engine

1 ответ

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() );

Ещё вопросы

Сообщество Overcoder
Наверх
Меню