【发布时间】:2018-05-04 05:10:20
【问题描述】:
在我的弹跳球程序中,它要求用户插入一些球,这些球将显示在屏幕上,从画布顶部开始,然后在画布底部的一条线上落下并弹跳。
当finished = true时,动画将停止。到目前为止,一旦第一个球的 X 位置超过 550,动画就会停止。一旦每个球的 X 位置超过 550,我如何使动画结束?
public void multiBounce(int numBalls)
{
BouncingBall[] balls;
balls = new BouncingBall[numBalls];
int x = 50;
int y = 150;
for (int i = 0; i < balls.length; i++){
balls[i] = new BouncingBall(x, y, 16, Color.blue, ground, myCanvas);
x = x + 20;
y = y - 30;
balls[i].draw();
}
boolean finished = false;
while(!finished) {
for (int i = 0; i < balls.length; i++){
balls[i].move();
}
for (int i = 0; i < balls.length; i++){
if (balls[i].getXPosition() >= 550){
finished = true;
}
}
}
【问题讨论】:
-
使用
break退出循环。 -
如果 any 球的位置为
>=550,则您当前将完成设置为 true。相反,首先设置finished = true,如果任何球有一个职位< 550.
标签: java arrays loops methods parameters