Omet navegació

16.- Interactivitat amb el ratolí

Si volem desplaçar-nos per la pantalla amb el ratolí ho farem gràcies  a les ordres mouseX, mouseY , que emmagatzemen la posició del ratolí al moure'l per la pantalla. Les variables pmouseX , pmouseY en canvi emmagatzemen la posició del ratolí en el cicle anterior void draw(){} d'execució del programa.

 

int R; // constant R del color
int G; // constant G del color int B; // constant B del color void setup(){   size(400,400);//mida de la pantalla } void draw (){   //Generem tres nombres aleatoris R, G i B  R =int( random(255)); // R val des de 0 fins a 255  G =int( random(255)); // G val des de 0 fins a 255  B =int( random(255)); // B val des de 0 fins a 255 fill(R,G,B);//Omplim de colors aleatoris el rectangle rect( mouseX, mouseY, 40, 40); //dibuixem un rectangle en la posició del ratolí }

Si proves el programa veuràs quelcom semblant a açò.

Rectangle amb ratolí

 

També tenim els esdeveniments de ratolí:

  • mousePressed() que es produeix quan es prem el ratolí al fer clic (prémer no soltar el botó).
  • mouseReleassed() que es produeix quan es solta el botó del ratolí al fer clic.
  • mouseMoved() quan el ratolí es mou sense fer clic en cap moment.
  • mouseDragged() quan el ratolí es mou mentre està premut (es mou mentre fem clic).

Anem a veure amb un exemple com podem definir subrutines que fam quelcom amb aquests esdeveniments.

int R; // constant R del color
int G; // constant G del color
int B; // constant B del color
void setup(){
  size(400,400);//mida de la pantalla
}
void draw (){
fill(R,G,B);//Omplim de colors  el rectangle
rect( mouseX, mouseY, 40, 40); //dibuixem un rectangle en la posició del ratolí
}

void mouseMoved(){//si sols movem el ratolí 
//el rectangle es de color aleatori.
 R =int( random(255)); // R val des de 0 fins a 255
 G =int( random(255)); // G val des de 0 fins a 255
 B =int( random(255)); // B val des de 0 fins a 255
}

void mouseDragged(){//Si arrosseguem el ratolí premut
// el rectangle és verd
  R= 37;
  G= 229;
  B=67;
}

 

Si executes el programa anterior veuràs quelcom com.

Rectangle moved draged