我想制作类似游戏的破砖机,但用砖块对物理作出反应。 我设置世界有0重力,砖有大线性和角度倾倒集。
但我对球有问题。我希望我的球能一直保持恒定的速度。即使在与砖块,墙壁和桨碰撞后(是的,我有2个)。我知道这不是物理学的工作方式。
但是有没有什么方法可以让球在与某些身体接触时不会松动?并且让球立即从砖块中弹回而不会失去它的能量但是对它们施加力(砖块)?
答案 0 :(得分:0)
我也在寻找,但在AS3中 - 我确实找到了我想要的c ++。给它一个读数之后,我认为下面是你想要的,使用Box2D物理以恒定速度移动一个物体。我也会发布这个链接,虽然用链接回答问题并不是一个好习惯,因为它们将来可能会中断。 Constant Speed
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() );