====== Processing : utiliser le clavier ====== ==== Présentation ==== Processing permet **d'interagir** avec le programme en utilisant le **clavier**. Il y a **2 événements** qui peuvent être gérés en utilisant les **2 fonctions correspondantes**. Ces 2 fonctions ne prennent **aucun paramètre** et ne **retournent aucune valeur**. * la fonction **keyPressed()** est exécuté pour l'événement **appui** sur une touche du clavier, * la fonction **keyReleased()** est exécuté pour l'événement **relâchement** de la touche du clavier. * La touche qui a été appuyée est indiquée dans la variable **key**. ==== Afficher chaque ligne du texte en appuyant sur la touche "l" ==== **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 keyPressed(): global tableau, ligne # passer à la ligne suivante si on n'est pas à la dernière ligne if key == 'l' or key == 'L': if ligne < len(tableau) - 1 : ligne = ligne + 1 Pour tester les autres touches du clavier, il faut : * tester que si la valeur de **key** est égale à **CODED** et * si c'est le cas utiliser la variable **keyCode**. ^touche^valeur de keyCode^ |Flèche haut|UP| |Flèche bas|DOWN| |Flèche droite|RIGHT| |Flèche gauche|LEFT| |Touche ALT|ALT| |Touche Ctrl|CONTROL| |Touche Shift|SHIFT| Voici le code de la fonction **keyPressed()** modifié pour afficher les lignes suivantes en utilisant la flèche droite : def keyPressed(): global tableau, ligne # passer à la ligne suivante si on n'est pas à la dernière ligne if key == CODED and keyCode == RIGHT: if ligne < len(tableau) - 1 : ligne = ligne +1 ==== Projet Processing ... ==== * [[icn:facultatif::p_processing|Projet Processing : du texte et des images]]