Я хотел бы сделать кирпичную игру как игру, но с кирпичами, которые реагируют на физику.
Я установил для мира значение 0, а у кирпичей большой линейный и угловой набор.
Но у меня проблема с мячом. Я бы хотел, чтобы мой мяч постоянно имел одинаковую скорость. Даже после столкновения с кирпичами, стенами и веслами (да, у меня их 2). Я знаю, что это не так, как работает физика.
Но есть ли способ сделать так, чтобы мяч не терял скорость при контакте с некоторыми телами? И заставить шарик отскакивать от кирпичей мгновенно, не теряя своей энергии, а прикладывая к ним силу (кирпичи)?
Я тоже искал это, но в 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() );
Других решений пока нет …