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

<html>

</html>

Projet Processing ...

Projet Processing : du texte et des images