弹跳后,身体获得额外的动力

时间:2016-03-19 12:14:21

标签: java physics game-physics

我正在尝试编写一个简单的物理模拟器。但是我面临球弹跳的问题。即使我的RESTITUTION设置为1,每次接触地面时球都会反弹一点。

Restitution变量:

public static double RESTITUTION=1d;

处理退回的代码:

if(Y<c.getRadius()){
  VY=Math.abs(VY)*Utils.RESTITUTION;
  Y=c.getRadius();
  c.getCenter().setY(Y);
  c.getV().setY(VY);
  }

所有变量都使用double作为数据类型。 Y是球的中心。 VY是速度的Y分量。

1 个答案:

答案 0 :(得分:1)

如果Y < c.getRadius()球已经c.getRadius() - Y已经进入地面,则会在备份的路上添加。

我认为你应该保留Y并且只是反转速度等等。

如果您以某个角度反弹,您可能会计算出准确的影响点并按此更正。