Interagir avec le clavier

Dans cette activité, nous allons travailler sur le clavier. Le fonctionnement est très similaire à celui du mécanisme que nous avons vu pour la souris.

Fondamental

PyProcessing propose 2 fonctions qui devront être complétées par le programmeur :

  • le code se trouvant dans la fonction keyPressed() est exécuté une fois quand l'utilisateur enfonce une touche

  • le code se trouvant dans la fonction keyReleased() est exécuté une fois quand une touche du clavier est relâchée

Ces 2 fonctions ne prennent aucun paramètre et ne retournent aucune valeur.

Exemple

Saisissez, analysez et testez ce code

1
def setup():
2
    size(200,200)
3
    fill(0)
4
5
def draw():
6
    background(240)
7
    ellipse(100,100,50,50)
8
9
def keyPressed():
10
    fill(255)
11
12
def keyReleased():
13
    fill(0)

Attention

pour pouvoir utiliser les 2 fonctions que nous venons de voir, il faut que la fonction draw() soit présente dans le programme (même si elle ne contient que le mot clé pass)

FondamentalConnaître la touche enfoncée

Il est possible de détecter la touche qui a été frappée grâce à la variable keyCode. Cette variable keyCode est égale aux codes des touches Python que vous trouverez ici

Complément

Par exemple pour savoir si c'est la touche "a" qui a été frappée, il suffira d'écrire :

1
def keyPressed():
2
  if keyCode==65:
3
    #mettre ici le code a exécuter quand la touche "a" est enfoncée

Exercice 23 : Le carré multicolore

Créez un programme permettant d'afficher un carré incolore au centre de la fenêtre.

  • En cas d'appui sur la touche r, le carré devient rouge.

  • En cas d'appui sur la touche v, le carré devient vert.

  • En cas d'appui sur la touche b, le carré devient bleu.

Ce même carré redevient incolore dès que la touche est relâchée.

Indication : On pourra utiliser le mot clé Python elif contraction de else et de if pour enchaîner les tests conditionnels.

Voir l'exemple de syntaxe ci-dessous

1
if a==1:
2
  print("a vaut 1")
3
elif a==2:
4
  print("a vaut 2")
5
else:
6
  print("a vaut au moins 3")

Exercice 24 : Bouger la balle

Créez un programme permettant d'afficher une balle noire.

  • Cette balle pourra être déplacée à l'aide des flèches du clavier.

  • La balle ne devra pas pouvoir sortir de la fenêtre.

Indication : pour déclarer plusieurs variables globales en début de fonction, utiliser la syntaxe suivante :

1
global x,y