Outils pour utilisateurs

Outils du site


icn:facultatif:processing:clavier1

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.
touchevaleur de keyCode
Flèche hautUP
Flèche basDOWN
Flèche droiteRIGHT
Flèche gaucheLEFT
Touche ALTALT
Touche CtrlCONTROL
Touche ShiftSHIFT

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/processing/clavier1.txt · Dernière modification: 2019/04/04 17:02 (modification externe)