From t-o-f

Processing: Souris

Contents (hide)

  1. 1. Fonctions et variables
  2. 2. Déterminer si la souris est dans un cercle
  3. 3. Déterminer si la souris est dans un rectangle

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 );
Récupéré sur http://wiki.t-o-f.info/Processing/Souris
Page mise à jour le 31 August 2012 à 08h57