在处理中,我试图创建一个显示 x 数量形状的可视化。由于数量可能很大且不确定,我想以编程方式创建它们(使用循环)。这看起来像这样:
First firstDot1;
float offset;
float radius = 0;
float endRad = 100;
float speed = 0.1;
String[] lines,colors;
void setup(){
size(800,600);
smooth();
background(255);
firstDot1 = new First(5);
}
void draw(){
background(255);
for(int z=0; z<36; z++){
offset = z * 10;
firstDot1.display();
firstDot1.start(offset);
}
}
class First{
float angle;
int id;
float eRad = 5;
float xpos, ypos, rad, i;
Boolean start = true;
First(float tempAngle){
angle = tempAngle;
}
void display(){
noStroke();
fill(247,147,30);
ellipseMode(CENTER);
ellipse(xpos, ypos, eRad, eRad);
}
void start(float offset){
if(i<endRad){
i = i+speed/2;
xpos = width/2 + cos(radians(-angle+offset))*(radius+i);
ypos = height/2 + sin(radians(-angle+offset))*(radius+i);
}
else{
turn(offset);
}
}
void turn(float offset){
angle = angle-speed/50;
xpos = width/2 + cos(radians(-angle+offset))*(endRad);
ypos = height/2 + sin(radians(-angle+offset))*(endRad);
}
}
这就像它应该通过显示 36 个椭圆一样工作。假设为了简单起见,我想通过单击来更改一个圆圈的颜色。
如何使用我当前的代码实现这一点?或者,我可以通过什么方式以编程方式创建这些对象(无需手动定义它们),以便我可以单独与它们交互?