我正在尝试在1500-1000个空间中生成15个圆,每个圆具有不同的位置。我知道如何生成1个随机圆,仅此而已。我该怎么办?
答案 0 :(得分:0)
听起来您正在寻找for
循环:
for(int i = 0; i < 15; i++){
// draw a random circle here
}
无耻的自我促进:here是有关for
处理中循环的教程。
答案 1 :(得分:0)
基本上,您需要创建一个Circle类和包含所有圈子的ArrayList。
然后使用for
在列表中添加15个圆,这些圆将传递给构造函数随机坐标,并确定固定的宽度和高度。
class Circle {
float x, y, size;
public Circle(float x, float y, float size) {
this.x = x;
this.y = y;
this.size = size;
}
public void update() {
ellipse(x, y, size, size);
}
}
全局声明您的ArrayList。现在,在setup()
中实例化ArrayList并使用随机生成的坐标填充它
ArrayList<Circle> circlesList; // This needs to be declared globally
float circleSize = 64; // Circles size in pixels
void setup() {
size(1500, 1000);
circlesList = new ArrayList<Circle>();
// Populating the ArrayList with circles
for (int i = 0; i < 15; i++) {
float randomx = random(0, 1500); // Random generated X
float randomy = random(0, 1000); // Random generated Y
Circle newCircle = new Circle(randomx, randomy, circleSize);
circlesList.add(newCircle);
}
}
现在在draw()
函数中,使用foreach循环,您将在ArrayList内绘制每个圆圈
void draw() {
background(255); // Background color
fill(255, 0, 0); // Circle fill color
for (Circle c : circlesList) {
c.update();
}
}
请注意,这样您的圈子可能会重叠或在屏幕外一点。询问任何代码是否不清楚,不要只是将其复制粘贴。
希望这有帮助:)