Rettangoli colori

Sto cercando di capire come mai non riesco ad inserire i miei valori float iniziali all’interno dei mie rect().

int PuntoZero = 0;
float x = 300;
float y1 = 300;
float y2 = 500;
int w = 600;
int h = 600;
float latoGiallo = height-y1;
float latoAzzurro = height-y2;
float latoBlu = width-x;
float latoArancio = x;
float latoRosso = y1;
float latoMagenta = y2;
//float y3 = 100;
color magenta = #EC05ED;
color arancio = #F28B02;
color blu = #0A30FF;

void settings() {
  //fullScreen();
  size(w, h);
}
void setup() {
  // size(600, 600);
  background(0);
  //frameRate(10);
  surface.setTitle("Mondrian");
}

void draw() {
  background(0); 
  strokeWeight(13);

  noStroke(); 
  fill(#EDEEF0);
  rect(PuntoZero, PuntoZero, latoArancio, latoRosso);
 // PuntoZero = PuntoZero +1;

  noStroke(); 
  fill(#C1C1C1);
  rect(latoArancio, PuntoZero, width-x, latoMagenta); //problema con inserimento latoBlu
  //PuntoZero = PuntoZero +1;

  noStroke(); 
  fill(#959595);
  //rect(latoArancio, latoMagenta, latoBlu, latoAzzurro); //problema
  rect(latoArancio, latoMagenta, width-x, height-y1); 
  //PuntoZero = PuntoZero +1;

  noStroke(); 
  fill(#5C5C5D);
  rect(PuntoZero, latoRosso, x, height-y1);
  // rect(PuntoZero, latoRosso, latoArancio, latoGiallo); //problema
  // PuntoZero = PuntoZero +1;

  stroke(arancio);
  line(PuntoZero, y1, x, y1);
  stroke(blu);
  line(x, y2, width, y2);
  stroke(magenta);
  line(x, PuntoZero, x, height);
}

in questa parte di codice non mi fa inserire: latoBlu

  noStroke(); 
  fill(#C1C1C1);
  rect(latoArancio, PuntoZero, width-x, latoMagenta); //problema con inserimento latoBlu
  //PuntoZero = PuntoZero +1;

stessa cosa vale per tutti gli altri rect().
Qualcuno sa dirmi perchè non me li fa inserire?

Grazie!

1 Like

Hello @marika20!

If I understand the issue correctly, It looks like this is the problem area:

You can’t refer to width and height before setup().

Instead do:

float latoGiallo = h-y1;
float latoAzzurro = h-y2;
float latoBlu = w-x;
:nerd_face:

4 Likes