Cours:ProcessingSouris

De troyesGEII
Aller à la navigation Aller à la recherche

Utilisation de la souris en PROCESSING

Retour vers la liste de TDs

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).