Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/url/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C++ Box2D仿真中的恒速对象_C++_Box2d_Game Physics_Physics Engine - Fatal编程技术网

C++ Box2D仿真中的恒速对象

C++ Box2D仿真中的恒速对象,c++,box2d,game-physics,physics-engine,C++,Box2d,Game Physics,Physics Engine,我想做一个像砖块破碎机一样的游戏,但砖块会对物理产生反应。 我将世界设置为0重力,砖块设置为大的线性和角度倾倒 但我有球的问题。我希望我的球始终保持相同的恒定速度。即使在与砖块、墙壁和桨叶碰撞后(是的,我有两个)。我知道这不是物理学的原理 但有没有办法使球在与某些物体接触时不失去速度?让球从砖块上弹跳而不失去它的能量,但对它们施加力量(砖块)? < P>我也在寻找,但是在AS3中我找到了我想要的C++。在阅读之后,我想下面就是你们想要的,用Box2D物理以恒定的速度移动一个物体。我也会发布这个链

我想做一个像砖块破碎机一样的游戏,但砖块会对物理产生反应。 我将世界设置为0重力,砖块设置为大的线性和角度倾倒

但我有球的问题。我希望我的球始终保持相同的恒定速度。即使在与砖块、墙壁和桨叶碰撞后(是的,我有两个)。我知道这不是物理学的原理


但有没有办法使球在与某些物体接触时不失去速度?让球从砖块上弹跳而不失去它的能量,但对它们施加力量(砖块)?

< P>我也在寻找,但是在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() );