Processing > Souris

1.  Fonctions et variables

Pour détecter le maintient d'un clique de souris, utiliser mousePressed  à l'intérieur de draw():

void draw() {
        if ( mousePressed) {
                if ( mouseButton == LEFT ) {
                        // Le bouton gauche de la souris est maintenu appuyé
                }
        }
}

Pour détecter le moment spécifique lorsqu'un bouton de la souris est cliqué, utiliser la fonction mousePressed() :

void mousePressed() {
        if ( mouseButton == LEFT ) {
                // Le bouton gauche de la souris vient d'être appuyé
        }
}

2.  Déterminer si la souris est dans un cercle

distance = dist( mouseX , mouseY , ellipseX , ellipseY ) ;
if ( distance < rayon ) {
        // mouseOver
}
float distance = dist( mouseX , mouseY , ellipseX , ellipseY );
if ( distance < rayon ) {
        // mouseOver
        fill(255);
} else {
        fill(0);
}
ellipse( ellipseX , ellipseY , rayon * 2 , rayon * 2);

3.  Déterminer si la souris est dans un rectangle

Avec rectMode(CORNER):

rectMode(CORNER);
float gauche = rectX ;
float droite = rectX+rectW;
float haut = rectY;
float bas = rectY+rectH;
if ( mouseX > gauche && mouseX < droite && mouseY > haut && mouseY < bas ) {
        // mouseOver
        fill(255);
} else {
        fill(0);
}
rect( rectX , rectY , rectW , rectH );

Avec rectMode(CENTER):

rectMode(CENTER);
float gauche = rectX - rectW/2;
float droite = rectX+rectW/2;
float haut = rectY - rectH/2;
float bas = rectY+rectH/2;
if ( mouseX > gauche && mouseX < droite && mouseY > haut && mouseY < bas ) {
        // mouseOver
        fill(255);
} else {
        fill(0);
}
rect( rectX , rectY , rectW , rectH );