Outils pour utilisateurs

Outils du site


wiki:tutoriels:processing:processing_8:processing_8

Différences

Ci-dessous, les différences entre deux révisions de la page.

Lien vers cette vue comparative

Les deux révisions précédentes Révision précédente
Prochaine révision
Révision précédente
wiki:tutoriels:processing:processing_8:processing_8 [2020/10/26 17:53]
damien.muti
wiki:tutoriels:processing:processing_8:processing_8 [2020/10/26 18:22] (Version actuelle)
damien.muti [Comment gérer une application (sketch) "multi-touches" ?]
Ligne 1: Ligne 1:
 ====== Comment gérer une application (sketch) "multi-touches" ? ====== ====== Comment gérer une application (sketch) "multi-touches" ? ======
  
-Par Damien MUTI - octobre 2020+  * Par Damien MUTI DESGROUAS   
 +  * Dernière mise à jour : 26/10/2020 
 +  * Fichiers :  
 +    * {{ :wiki:tutoriels:processing:processing_8:multitouche1.zip |}} 
 +    * {{ :wiki:tutoriels:processing:processing_8:multitouche2.zip |}}
  
  
Ligne 12: Ligne 16:
 ==== Programme 1 ==== ==== Programme 1 ====
 Le programme suivant permet de lancer un événement lorsque des (deux au minimum) sont simultanément appuyées. L'événement cesse lorsque les touches sont relâchés. Le programme suivant permet de lancer un événement lorsque des (deux au minimum) sont simultanément appuyées. L'événement cesse lorsque les touches sont relâchés.
 +
 +Chaque touche correspond à un code ascii. Le plus simple est de créer un tableau de booléen dont l'indice correspond au code ascii de la touche. Par exemple, le code ascii de la touche 'A' est 65. Si la touche 'A' est pressée, alors la valeur du tableau à l'indice 65 est //true//.
  
 <code> <code>
 boolean[] keys; boolean[] keys;
 +int SPACE = 32; // Code ascci de la touche espace
 void setup() { void setup() {
-  keys = new boolean[512]; // Création d'un tableau linéaire de booléen. Chaque touche correspond à un code ascii +  keys = new boolean[512]; // Création d'un tableau linéaire de booléen.  
 +  // L'indice du tableau correspond au code ascii de la touche.
 } }
 void draw() { void draw() {
-  if (keys[CONTROL] && keys[32]) { // CTRL + SPACE+  // si les touches CTRL et SPACE sont appuyées, alors écrire "HELLO WORD" dans la console 
 +  if (keys[CONTROL] && keys[SPACE]) { // CTRL + SPACE
     println("HELLO WORLD");     println("HELLO WORLD");
   }   }
Ligne 25: Ligne 34:
  
 void keyPressed() { void keyPressed() {
-  println(keyCode); // to find out the different keyCodes for the different chars, read the output from this. +  println(keyCode); // écrire le code ascii de la touche pressée 
-  keys[keyCode] = true;+  keys[keyCode] = true; // mettre la valeur du tableau correspondant à l'indice 'keycode' à true car la touche est pressée.
 } }
-void keyReleased(){+void keyReleased() { 
 +  // lorsque la touche est relâchée, mettre la valeur du tableau correspondant à l'indice 'keycode' à false
   keys[keyCode] = false;   keys[keyCode] = false;
  
 +
  
 </code> </code>
Ligne 36: Ligne 47:
 Lien sur les codes ascii de chaque touches : Lien sur les codes ascii de chaque touches :
   * [[https://fr.wikipedia.org/wiki/American_Standard_Code_for_Information_Interchange|American Standard Code for Information Interchange (ASCII)]]   * [[https://fr.wikipedia.org/wiki/American_Standard_Code_for_Information_Interchange|American Standard Code for Information Interchange (ASCII)]]
 +
 +==== Programme 2 ====
 +Le programme suivant permet de lancer un événement lorsque des (deux au minimum) sont simultanément appuyées. L'événement cesse lorsque qu'on appuie de nouveau sur les mêmes touches.
 +
 +Chaque touche correspond à un code ascii. Le plus simple est de créer un tableau de booléen dont l'indice correspond au code ascii de la touche. Par exemple, le code ascii de la touche 'A' est 65. Si la touche 'A' est pressée, alors la valeur du tableau à l'indice 65 est //true//.
 +
 +<code>
 +boolean[] keys;
 +int SPACE = 32; // Code ascci de la touche espace
 +void setup() {
 +  keys = new boolean[512]; // Création d'un tableau linéaire de booléen. 
 +  // L'indice du tableau correspond au code ascii de la touche.
 +}
 +void draw() {
 +  // si les touches CTRL et SPACE sont appuyées, alors écrire "HELLO WORD" dans la console
 +  if (keys[CONTROL] && keys[SPACE]) { // CTRL + SPACE
 +    println("HELLO WORLD");
 +  }
 +}
 +
 +void keyPressed() {
 +  println(keyCode); // écrire le code ascii de la touche pressée
 +  // inverser la valeur du tableau correspondant à l'indice 'keycode' lorsque la touche est pressée.
 +  keys[keyCode] = !keys[keyCode]; 
 +}
 +
 +
 +</code>
  
  
Ligne 41: Ligne 80:
   * [[https://processing.org/discourse/beta/num_1234403621.html|Forum Processing : Multikey codes 2009]]   * [[https://processing.org/discourse/beta/num_1234403621.html|Forum Processing : Multikey codes 2009]]
   * [[https://processing.org/discourse/beta/num_1232739411.html|Forum Processing : multiple keypressed 2009]]   * [[https://processing.org/discourse/beta/num_1232739411.html|Forum Processing : multiple keypressed 2009]]
 +  * [[https://fr.wikipedia.org/wiki/American_Standard_Code_for_Information_Interchange|American Standard Code for Information Interchange (ASCII)]]
wiki/tutoriels/processing/processing_8/processing_8.1603731229.txt.gz · Dernière modification: 2020/10/26 17:53 de damien.muti