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有关.我只是看不出如何停止运动.


本文来自互联网用户投稿,文章观点仅代表作者本人,不代表本站立场,不承担相关法律责任。如若转载,请注明出处。 如若内容造成侵权/违法违规/事实不符,请点击【内容举报】进行投诉反馈!

相关文章

立即
投稿

微信公众账号

微信扫一扫加关注

返回
顶部