Я хотел бы сделать кирпичный выключатель, как игру, но с кирпичами, которые реагируют на физику. Я установил, что мир имеет 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() );