Cours:ProcessingSouris
Utilisation de la souris en PROCESSING
Sommaire
Prise en main
Avant de pouvoir faire les exercices, commencez par consulter cette documentation et à exécuter et comprendre les exemples
Références
Voici les principales primitives pour la manipulation d'une souris.
Les primitives restantes sont disponibles ICI
Exercices
Ex1
Processing gère deux variables mouseX et mouseY disponibles à tout moment pour connaître les coordonnées du pointeur de la souris.
Testez et comprenez ce que fait le programme d’animation suivant :
void draw()
{
background(255,255,0);
println("mouseX = " + mouseX + ", mouseY = " + mouseY);
ellipse(mouseX, mouseY, 30, 30);
}
Remarque :
- La fonction "println" permet d'afficher des messages dans la fenêtre processing
- Processing ne gère la souris que si elle est dans le canvas !
Écrire un programme qui dessine un carré qui suit les déplacements de la souris
Ex2 : Zones sensibles
Partage d'écran en 2
On partage l'écran en 2 zones (droite et gauche). Une zone sera blanche si elle contient la souris, noire sinon.
Écrire le programme répondant à ce cahier des charges
Bouton
On dessine un rectangle noir au milieu de l'écran avec un cadre noir également (cf stroke() ).
Faire le programme qui change la couleur du rectangle lorsque la souris est "au dessus".
Bouton circulaire
Reprendre la question précédente avec un disque
Remarque : Un point est dans un cercle si sa distance au centre du cercle est inférieure au rayon (dist() )
Ex3
Le programmeur Processing peut détecter si un bouton de la souris a été pressé en consultant la valeur de la variable booléenne mousePressed : (true = un bouton actuellement enfoncé).
La variable entière mouseButton vaut l’une des constantes LEFT, CENTER ou RIGHT suivant le bouton de la souris le plus récemment enfoncé (même s’il n’est pas actuellement enfoncé).
Modifiez le programme précédent pour que le rectangle soit :
- noir si le bouton gauche est enfoncé
- rouge si le bouton droit est enfoncé
- blanc dans tous les autres cas (boutons relâchés).