我需要使用循环使 4 个正方形垂直移动



我需要制作 4 个垂直移动的正方形,当它们接触窗口边缘时,它们会改变方向。我可以用一个正方形来做,但是我怎么用 4 来避免重复循环。这必须在处理过程中完成

您正在寻找的代码如下所示(经过测试(:

int x[] = new int[4];
int y[] = new int[x.length];
int s[] = new int[x.length];
int vx[] = new int[x.length];
int vy[] = new int[x.length];
void setup(){
size(400, 400);
for(int i = 0; i < x.length; i++){
x[i] = round(random(width) - s[i]);
y[i] = round(random(height) - s[i]);
s[i] = round(random(90));
vx[i] = round(random(-6, 6));
vy[i] = round(random(-6, 6));
}
}

void draw(){
background(0);
for(int i = 0; i < x.length; i++){
rect(x[i], y[i], s[i], s[i]);
x[i] += vx[i];
y[i] += vy[i];
if(vx[i] + x[i] > width - s[i] / 2 || vx[i] + x[i] < 0 + s[i] / 2) vx[i] *= -1;
if(vy[i] + y[i] > height - s[i] / 2 || vy[i] + y[i] < 0 + s[i] / 2) vy[i] *= -1;
}
}

要添加更多方块,只需将第一行中的数字 4 更改为您想要的方块数量。要更改正方形预设/属性,只需在 setup(( 的 for 循环中更改它们设置的内容。这种工作方式是它在随机位置生成一些随机正方形,随机大小以随机恒定速度移动。但是,正方形不会相互碰撞。如果你想知道如何让它们相互碰撞,只需在不同的问题中提出,请放心,我会在那里回答[:)]。另外,我可以看到您是处理的初学者。我推荐这组播放列表从 4.0 开始:处理 3 - 编码列车。

最新更新