====== 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]]