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