int rSize = 1;//ellipseの大きさ int hNum = 4000;//配列の数 int mFlag = 0;//flag 0=off 1=on int eCenter = 200;//中心点 int rad = 50;//半径 float angle = 0;//角度 float dx,dy, distance;//距離の座標(dx,dy)と長さ(distance) float speed = 15;//近づくスピード float an = 0.1;//angleを変化させる値 float xrad, yrad;//xPos2の中心点からの長さ x軸(xrad) y軸(yrad) //-----配列----- float[] xPos1 = new float[hNum];//xPos1のx座標 float[] yPos1 = new float[hNum];//yPos1のy座標 float[] xPos2 = new float[hNum];//xPos2のx座標 float[] yPos2 = new float[hNum];//yPos2のy座標 float[] count = new float[hNum];//半径を大きくするcount void setup(){ size(400, 400);//画面サイズ background(0);//背景 frameRate(30);//フレームレート(秒) noStroke();//枠線無し smooth();//ズムーズ } void draw(){ background(255);//背景塗りつぶし e_draw();//ellipse描画 e_follow();//徐々に近づく動き e_next();//次posの値を決める } void mousePressed(){ mFlag = 1;//on } void mouseReleased(){ mFlag = 0;//off for(int i=0; i0){//距離が0より大きい時 xPos1[i] += dx/speed;//徐々に近づく yPos1[i] += dy/speed; } if(distance<0.2){//距離が0.5より小さい時 if(mFlag==1){ xPos2[i] = cos(angle)*xrad/5*count[i] + mouseX;//xPos2に値を代入 yPos2[i] = sin(angle)*yrad/5*count[i] + mouseY; angle += sin(an);//正円描画を崩す an += 0.03;//angleの変化する幅 count[i] ++;//countに1代入 } } } } void e_next(){ if(mFlag==0){ for(int i=0; i