指で触れているときはその方向を見て、それ以外の時はそれぞれの目がランダムな方向を向きます。
作り方は以下の通りです。
ステップ① Processingをインストールする
ステップ② コードをコピペする
アプリを開いて右上の+マークから"New Processing Project"をします。適当な名前を付けて保存したら最初から入っているコードをすべて消し、以下のコードをコピぺします。そして右上の▶ボタンを押すといのちの輝きくんが召喚できます。
int x[]=new int[5];
int y[]=new int[5];
int x_size[]=new int[5];
int y_size[]=new int[5];
int x_dist[]=new int[5];
int y_dist[]=new int[5];
float theta[]=new int[5];
float theta_set[]=new int[5];
bool button;
void setup() {
size(screenWidth, screenHeight);
x=[90,120,0,-110,-150];
y=[-160,90,190,20,-100];
x_size=[50,65,40,50,50];
y_size=[50,60,40,50,50];
for(int i=0;i<5;i++){
theta_set[i]= random(360)/180.0* PI;
}
}
//1792*828
void draw() {
background(0);
noStroke();
translate(width/2,height/2);
//red
fill(255,0,0);
ellipse(-30,-160,90,90);
ellipse(70,-140,120,120);//
ellipse(110,-60,150,60);
ellipse(90,0,70,100);
ellipse(90,90,140,120);//
ellipse(10,170,120,120);//
ellipse(-70,150,80,80);
ellipse(-100,80,60,100);
ellipse(-130,10,120,120);//
ellipse(-140,-90,100,100);//
ellipse(-80,-50,70,70);
ellipse(-80,-110,80,80);
//white
fill(255);
ellipse(90,-160,50,50);
ellipse(120,90,65,60);
ellipse(0,190,40,40);
ellipse(-110,20,50,50);
ellipse(-150,-100,50,50);
//blue
fill(0,0,255);
if(mousePressed == true){
button = true;
for(int i=0;i<5;i++){
theta[i] = atan2(mouseX - width/2 - x[i],mouseY -height/2 - y[i]);
x_dist[i]=(x_size[i]/2-10)* sin(theta[i]);
y_dist[i]=(y_size[i]/2-10)* cos(theta[i]);
ellipse(x[i]+x_dist[i],y[i]+y_dist[i],20,20);
}
}else{
for(int i=0;i<5;i++){
if(button == true){
theta_set[i]= random(360)/180.0* PI;
}
if(theta_set[i] != theta[i]){
theta[i] = theta[i] + (theta_set[i] - theta[i]) / 30;
}
x_dist[i]=(x_size[i]/2-10)* sin(theta[i]);
y_dist[i]=(y_size[i]/2-10)* cos(theta[i]);
ellipse(x[i]+x_dist[i],y[i]+y_dist[i],20,20);
}
button = false;
}
}
以上