java 球_在Java中弹跳球

这可能是一个非常基本的问题,但我似乎无法找到任何其他文章.

无论如何,我用Java编写了一个小弹跳球程序,试图扩展我的基本技能.该计划只是一个简单的弹跳球,将会下降,并希望有一段时间反弹.原始程序工作正常,但现在我已经尝试将重力添加到程序中.重力实际上可以正常运行一段时间但是一旦弹跳变得非常小,动画在很短的时间内变得不稳定,那么球的位置就会不断减小.我试图找出问题,但我只是看不到它.任何帮助都是最受欢迎的.

public final class Ball extends Rectangle {

float xspeed = 1.0f; float yspeed = 1.0f; float gravity = 0.4f;

public Ball(float x, float y, float width, float height) {

super(x, y, width, height);

}

public void update(){

yspeed += gravity;

move(xspeed, yspeed);

if(getX() < 0){

xspeed = 1;

}

if(getX() + getWidth() > 320){

xspeed = -1;

}

if(getY() < 0){

yspeed = 1;

}

if(getY() + getHeight() > 200 && yspeed > 0){

yspeed *= -0.98f;

}

if(getY() + getHeight() > 200 && yspeed < 0){

yspeed *= 0.98f;

}

}

public void move(float x, float y){

this.setX(getX()+x);

this.setY(getY()+y);

}

}

编辑:谢谢,似乎已经排序了飘忽不定的运动.我仍然在努力想看看当它停止弹跳时我怎么能阻止我的球向下移动.现在它将移动停止弹跳然后继续向下移动通过“地板”.我认为这与我的yspeed = gravity line有关.我只是看不出如何停止运动.

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值