0

我的精灵怎么会跳回来回到原来的地方?我在 iphone 应用程序中使用 box2d 物理引擎。我正在使用冲动但无法正常工作。

有没有人知道逻辑或代码比告诉我。

-(void)jump
{
    b2Vec2 pos=ballbody->GetPosition();
 //   float vel=ballbody->GetAngularVelocity();
    double radian=atan2(pos.x+10, pos.y+10);
    float angle=CC_RADIANS_TO_DEGREES(radian);
    NSLog(@"Angle: %f",angle);
     float impulseFactor = 1.0;
   float force=ballbody->GetMass()*10;
    //force/=6.0;
    //b2Vec2 force=b2Vec2(0,50.0f);
  //  float apply=force*JUMP_IMPULSE*impulseFactor;
    ballbody->ApplyLinearImpulse(b2Vec2(angle,force), ballbody->GetWorldCenter());

 //  [self applyLinearImpulse:b2Vec2(0,[self mass]*JUMP_IMPULSE*impulseFactor) point:[self worldCenter]];

}

谢谢

4

1 回答 1

0
  1. 请检查是否设置了重力
  2. 如果没有在您施加力的特定角度上设置重力。
  3. 第三种情况是记下该位置...获取当前位置...获取角度....将线速度设置为该角度....继续检查位置,一旦到达该位置,将线速度设置为零.....(这听起来令人困惑,但我并没有完全理解你的问题,就像我理解的那样,我只能提供这么多的帮助)
于 2014-01-14T10:38:41.667 回答