弹跳与重力的球在Java

时间:2012-04-11 19:33:21

标签: java gravity

  

可能重复:
  How do I apply gravity to my bouncing ball application?

我有一个球类从地面反弹。

以下是我的代码的一部分:

public void update(){
  yPos += ySpeed;
  ySpeed += gravity;

  if(yPos > BOTTOM_OF_SCREEN){
    ySpeed *= -1;
  }
}

这段代码的问题在于,当我在半空中有一个球时,它会比它开始时弹跳更高,并且越来越弹跳,但是我希望它弹回到它开始时的高度。

1 个答案:

答案 0 :(得分:2)

不要提高击中底部的速度(仅当它自由下落时):

   void update() {
        yPos += ySpeed;

        if (yPos > BOTTOM_OF_SCREEN) {
            ySpeed *= -1;
        } else ySpeed += gravity;
    }