====== Processing : utiliser la souris ======
==== Présentation ====
Processing permet **d'interagir** avec le programme en utilisant la **souris**. Il y a **4 événements** qui peuvent être gérés en utilisant les **4 fonctions correspondantes**. Ces 4 fonctions ne prennent **aucun paramètre** et ne **retournent aucune valeur**.
* la fonction **mousePressed()** est exécuté pour l'événement **appui** sur un des boutons de la souris,
* la fonction **mouseReleased()** est exécuté pour l'événement bouton de la souris qui a été préalablement pressé est relâché,
* la fonction **mouseMoved()** est exécuté pour l'événement déplacement de la souris à chaque,
* la fonction **mouseDragged()** est exécuté pour l'événement déplacement de la souris et que le bouton de la souris est enfoncé.
==== Afficher chaque ligne du texte à chaque clic de la souris ====
**A faire :** \\ Modifions le programme d'affichage du texte pour **changer** la ligne affichée uniquement quand l'utilisateur **clique avec la souris**.
# définir une variable globale qui contiendra le tableau des lignes du texte
tableau = []
# variable pour compter les lignes
ligne=0
def setup():
# utiliser la variable globale tableau
global tableau
# taille de la fenêtre
size(400,400)
#lecture du contenu du fichier
fichier=open('cigale.txt','r')
contenu=fichier.read()
# découpage ligne par ligne
tableau=contenu.split("\n")
fichier.close()
def draw():
# utiliser les variables globales tableau et ligne
global tableau, ligne
background(255)
fill(0)
# affiche une ligne du tableau
text(tableau[ligne],10,50)
def mousePressed():
global tableau, ligne
# passer à la ligne suivante si on n'est pas à la dernière ligne
if ligne < len(tableau) - 1 :
ligne = ligne +1
* Vous obtenez les coordonnées du curseur de la souris grâce aux variables **mouseX** et **mouseY**.
* **pmouseX** et **pmouseY** vous permettent d'avoir les coordonnées de la souris à l'instant t-dt, avec dt le temps qui s'est écoulé entre 2 images.
* [[icn:facultatif::p_processing|Projet Processing : du texte et des images]]