@lu4425 Tienes acceso a una referencia de Processing en español? La verdad, no se si hay version traducida. El caso es que tienes que mirar la definicion de setup()
y draw()
para que puedes entender como funciona Processing. Estos son dos funciones fundamentales. Si te animas al ingles, puedes chequear la referencia:
setup() / Reference / Processing.org
draw() / Reference / Processing.org
El caso es, como @DogeMastr ha explicado, tu tienes que llamar la funcion respectiva, rect()
o ellipse()
, despues de que assignas un valor aleatorio a tu variable.
En resumen: setup es una function que es llamada una sola vez y es ejecutada antes de draw(). Despues de que setup termina de ejecutar, draw es ejecutado 30 veces por segundo. Tu puedes dibujar tu rect y ellipse o dentro de draw()
o dentro de mousePressed()
. Estas dos funciones funcionan de una manera distinta, pero lo que importa es que cualquiera funciona para este reto.
Una cosa: No generes valores aleatorios en draw.
Hechale un vistazo al codigo que genere.
Suerte,
Kf
N.B. Para formatera el codigo en el foro, despues de formatear el codigo en el preprocesor de Processing (ctrl+t
) para arreglar los espacios y las tabulaciones del código, copialo y pégalo aqui en el foro. Despues selecciona el código y le das click al buton con el siguiente símbolo: </>
. Eso permite que tu codigo tengo un formato adecuado en este foro.
final int LADO_RECT=30; //unidades de pixeles
final int DIAMETRO=100; //unidades de pixeles
float recX, recY, cirX, cirY;
void setup() {
size(400, 400);
recX = random (width);
recY = random (height);
cirX = random (width);
cirY = random (height);
noStroke(); //No dibujar el borde de las figuras
fill(255, 0, 0); //Lenar las figuras de color rojo
}
void draw() {
background (0); //El fondo es negro
rect(recX, recY, LADO_RECT, LADO_RECT);
ellipse(cirX, cirY, DIAMETRO, DIAMETRO);
}
void mousePressed () {
if (dist(mouseX, mouseY, cirX, cirY)<DIAMETRO/2) {
cirX = random (width);
cirY = random (height);
}
//ATENCION: El siguiente bloque fue modificado PERO esta incompleto.
//Se te deja como tarea completar esta parte
if (
mouseX > recY &&
mouseX < +30 &&
mouseY > recY &&
mouseY < recY +30
) {
}
}