icn:facultatif:processing:clavier1
Table des matières
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> <iframe src=“https://trinket.io/embed/python/49c960685d” width=“100%” height=“600” frameborder=“0” marginwidth=“0” marginheight=“0” allowfullscreen></iframe> </html>
Projet Processing ...
icn/facultatif/processing/clavier1.txt · Dernière modification : 2019/04/04 17:02 de 127.0.0.1