En la pantalla se dibujan 5 botones, los 2 primeros cuando le doy click tienen que generar un cuadrado(primer boton) y un circulo(segundo boton) en pantalla pero que no se borren, pero no puedo hacer que se mantengan en pantalla porq siempre desaparecen, los demas 3 botones sirven para achicar el cuadrado, aumentar el circulo y el ultimo para borrar todo en pantalla… Alguien me puede orientar en como puedo hacer que funcione?
int cir=0;
boolean cuad=false;
int posy=(int)random(0,500);
int posx=(int)random(0,500);
int tam=20;
int tamc=50;
void setup(){
size (500,500);
}
void draw(){
background(255);
if(cuad){
for(int i=0;i<10;i++){
cuadrados();
cuad=false;
}
}
if(cir==1){
circulos();
}
botones();
}
void botones(){
superRect(#F5F5F5,100,200,50,50);
superRect(#F5F5F5,160,200,50,50);
superRect(#F5F5F5,220,200,50,50);
superRect(#F5F5F5,280,200,50,50);
superRect(#F5F5F5,340,200,50,50);
}
void circulos(){
fill(255);
ellipse(posx,posy,tamc,tamc);
}
void cuadrados(){
superRect(#F5F5F5,(int)random(0,500),(int)random(0,500),tam,tam);
}
void mousePressed(){
//boton cuadrados
if( clickboton(100,200,50,50,mouseX,mouseY) ){
cuad=true;
}
//circulos
if( clickboton(160,200,50,50,mouseX,mouseY) ){
cir=1;
}
//+1
if( clickboton(220,200,50,50,mouseX,mouseY) ){
tam++;
}
//-1
if( clickboton(280,200,50,50,mouseX,mouseY) ){
tamc–;
}
//reset
if( clickboton(340,200,50,50,mouseX,mouseY) ){
cuad=false;
cir=0;
tam=20;
tamc=50;
}
}
void superRect(color c, int x, int y, int w, int h){
fill(c);
rect(x, y, w, h);
}
boolean clickboton(int x, int y, int w, int h, int mx, int my){
if( (mx > x && mx < (x+w)) && (my > y && my < (y+h)) ){
return true;
}else{
return false;
}
}