色々と調整しました。
続きにプログラミは置いてあります。
float x,menux;float menuxR;float theta, menutheta;float marux, maruy, maru;int click, clickconst;float rotate;float scroll;boolean menu;float circle;Maru[] maruarray;//---------------------------------------------void setup(){size(400,600);background(100,180,0);smooth();noStroke();menu=true;scroll=550;}//---------------------------------------------void draw(){if(menu){fill(100,180,0);rect(0,scroll,400,600);scroll-=30;scroll=constrain(scroll,0,550);theta=atan2(mouseX,mouseY);//click action---------------------------------------------if(mousePressed){if(mouseX>-50*cos(theta)+width/2&&mouseX<50*cos(theta)+width/2&&mouseY>-50*sin(theta)+height/2&&mouseY<50*cos(theta)+height/2){x=20;//marux=mouseX;//maruy=mouseY;click+=1;clickconst=click;clickconst=constrain(clickconst,0,1000);}}//shrink ball---------------------------------------------if(x>0){x-=3;}//draw around ball---------------------------------------------reset();for(Maru maru:maruarray){maru.draw();}//center circle------------------------------------------------fill(255);ellipse(width/2,height/2,100+x,100+x);//text click time---------------------------------------------fill(0);textSize(10);text("click"+ click, width/2,height/2);//under bar---------------------------------------------botan("Custum Menu", 255,255,255,0);}//menu---------------------------------------------if(!menu){fill(255,160);rect(0,scroll,400,600);scroll-=30;scroll=constrain(scroll,0,550);botan("back",100,180,0,255);menubotan("circle+1","reset");}}//---------------------------------------------//---------------------------------------------void reset(){maruarray=new Maru[clickconst];for(int i=0; i<maruarray.length; i++){Maru maru = new Maru(i);maruarray[i]=maru;}}//---------------------------------------------void botan(String text, float r, float g, float b, float iro2){fill(r,g,b);rect(0,550,400,600);fill(iro2);textAlign(CENTER);text(text,width/2,575);}void menubotan(String menu,String menu2){fill(100,180,0);ellipse(width/2,height/2,100+menux,100+menux);menutheta=atan2(mouseX,mouseY);if(mousePressed){if(mouseX>-50*cos(menutheta)+width/2&&mouseX<50*cos(menutheta)+width/2&&mouseY>-50*sin(menutheta)+height/2&&mouseY<50*cos(menutheta)+height/2){menux=20;circle+=1;}}if(menux>0){menux-=3;}ellipse(width/2,height/2+100,50+menuxR,50+menuxR);if(mousePressed){if(mouseX>-50*cos(menutheta)+width/2&&mouseX<50*cos(menutheta)+width/2&&mouseY>-50*sin(menutheta)+height/2+100&&mouseY<50*cos(menutheta)+height/2+100){menuxR=20;click=0;circle=0;}}if(menuxR>0){menuxR-=3;}ellipse(width/2,height/2-100,50+menuxR,50+menuxR);ellipse(width/2-100,height/2,50+menuxR,50+menuxR);ellipse(width/2+100,height/2,50+menuxR,50+menuxR);fill(255);text(menu,width/2,height/2);text(menu2,width/2,height/2+100);}//---------------------------------------------void mouseClicked(){if(menu){if(mouseX>0&&mouseX<400&&mouseY>550){menu=false;scroll=550;}}else if(mouseX>0&&mouseX<400&&mouseY>550){menu=true;scroll=550;}}//---------------------------------------------//---------------------------------------------class Maru{float i;Maru(float i){this.i=i;}void draw(){noStroke();//fill(random(255),random(255),random(255));fill(255);pushMatrix();translate(width/2,height/2);if(100*cos(i)>-100*cos(theta)&&100*cos(i)<100*cos(theta)&&100*sin(i+rotate)>-100*sin(theta)&&100*sin(i+rotate)<100*cos(theta)){fill(255);}ellipse(100*cos(i),100*sin(i+rotate),1,1);ellipse(100*cos(i),100*sin(i-rotate),1,1);ellipse(200*cos(i+rotate),200*sin(i+rotate),1,1);if(circle>0){ellipse(100*cos(i+rotate*2),100*sin(i),1,1);ellipse(100*cos(i-rotate*2),100*sin(i),1,1);}rotate+=0.0005;popMatrix();}}
コメント