Buenas @UnderHok
Hay varias maneras de abordar los eventos de click de teclado, yo te recomendaría hacerlo en los eventos mousePressed(), mouseReleased(), etc.
A parte, viendo el código, creo que la equivocación ha sido las funciones if/else, tal vez estés usando varios punteros (mouseX, mouseY) en cuyo caso creo que habría que gestionar las distintas pulsaciones (no creo que la pulsación de varios eventos tenga la misma variable mouseX/Y).
En tú código, se compureba el primer if y si se cumple, se aumenta el tamaño, sino, disminuye y luego si disminuye demasiado se establece el valor en 5, lo que pasa es que ahora, en el siguiente if (el del botón derecho), se vuelve a ejecutar la misma secuencia.
Entonces al tener pulsado uno, el otro no va a estar pulsado y el aumento que provoca la pulsación de un botón, lo anula la “no pulsación” del otro botón.
No sé si la explicación ha sido muy complicada jaja, te dejo aquí el código a mi entender que hace lo que buscas:
float x, y,tam=5;
color c;
void setup(){
size(400,400);
background(255);
}
void draw(){
print(" Tamaño = " + tam + "\n");
fill(255,0,0);
rect(0,0,50,50);
fill(255,0,0);
rect(350,0,50,50);
if((mouseX>0)&&(mouseX<0+50)&&
(mouseY>0)&&(mouseY<0+50&&mousePressed)){
tam+=0.5;
x = random(1,399);
y = random(1,399);
c = color(random(255),random(255),random(255));
noStroke();
fill(c);
ellipse(x,y,tam,tam);
}/*
else{
tam-=1;
}
if(tam<5){
tam=5;
}*/
else
if((mouseX>350)&&(mouseX<350+50)&&
(mouseY>0)&&(mouseY<0+50&&mousePressed)){
tam+=0.5;
x = random(1,399);
y = random(1,399);
c = color(random(255),random(255),random(255));
noStroke();
fill(c);
rect(x,y,tam,tam);
}
else{
tam-=1;
}
if(tam<5){
tam=5;
}
}
/*
void mousePressed(){
tam += 0.5;
}
void mouseReleased(){
tam = 5;
}*/
Puedes hacer la comprobación de si está pulsado uno u otro con el if else y luego ya si no hay ninguno pulsado, dismnuir el tamaño.
También te he dejado en el código un par de cosas para que puedas comprobar en futuras ocasiones lo que está pasando más fácilmente y puedas corregirlo, el uso de “prints” nos ayuda a ver la evolución de una variable en cualquier lugar que queramos, así sabemos como cambia a la entrada/salida de cualquier punto. También te he dejado un par de funciones al final para gestionar pulsaciones y dejar de pulsar, por si en un futuro te pueden ser útiles.
Espero que esto te ayude, un saludo