処理中、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 個の楕円を表示することで正常に機能します。簡単にするために、1 つの円をクリックしてその色を変更したいとします。
現在のコードでこれを達成するにはどうすればよいですか? または、これらのオブジェクトを個別に操作できるように、これらのオブジェクトをプログラムで (すべて手動で定義せずに) どのように作成できますか?