game2
色々と調整しました。 続きにプログラミは置いてあります。
 
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();
 
}