Cours:ProcessingSouris

De troyesGEII
Révision datée du 24 septembre 2019 à 10:34 par Bjacquot (discussion | contributions) ({{Rouge|Prise en main}})
(diff) ← Version précédente | Voir la version actuelle (diff) | Version suivante → (diff)
Aller à : navigation, rechercher

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.

Todo.jpg 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 !

Question.jpg É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.

Question.jpg É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() ).


Question.jpg Faire le programme qui change la couleur du rectangle lorsque la souris est "au dessus".

Bouton circulaire

Question.jpg 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é).

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