实现小球触碰边缘反弹
时间: 2023-08-12 15:15:33 浏览: 73
可以通过以下代码实现小球触碰边缘反弹:
```java
public class Ball {
private int x, y;
private int vx, vy;
private int r;
public Ball(int x, int y, int vx, int vy, int r) {
this.x = x;
this.y = y;
this.vx = vx;
this.vy = vy;
this.r = r;
}
public void move() {
x += vx;
y += vy;
if (x - r < 0 || x + r > SCREEN_WIDTH) {
vx = -vx;
}
if (y - r < 0 || y + r > SCREEN_HEIGHT) {
vy = -vy;
}
}
}
```
其中,`x` 和 `y` 分别为小球的横纵坐标,`vx` 和 `vy` 分别为小球在横纵轴上的速度,`r` 为小球的半径。我们可以在 `move()` 方法中,先将小球的横纵坐标分别加上对应速度,然后判断是否触碰到边缘。如果小球触碰到了左边缘或右边缘,我们将横向速度取反,使小球反弹;同样地,如果小球触碰到了上边缘或下边缘,我们将纵向速度取反,使小球反弹。这样就可以实现小球触碰边缘反弹的效果。
需要注意的是,我们还需要定义屏幕的宽度 `SCREEN_WIDTH` 和高度 `SCREEN_HEIGHT`,以便判断小球是否触碰到了边缘。