Bonjour !
Je suis en train de coder un pong dont la position des raquettes est contrôlée par des capteurs de distance (du coup on joue avec les mains!).
J'ai fait une première version de la chose où les raquettes sont contrôlées au clavier, et arrive le moment fatidique où je dois intégrer l'interaction avec les capteurs
Pour cela, j'utilise la librairie MidiBus pour communiquer avec la carte electronique sur laquelle est branché mon capteur.
J'ai donc, dans le gestionnaire d'évènements MIDI une variable qui récupère les valeurs reçues par le capteur (ce gestionnaire se trouve dans mon onglet principal). Pour contrôler la position de la raquette avec le capteur, il faudrait donc que je fasse correspondre cette valeur de capter avec la position en Y de ma raquette.
Le problème, c'est que je n'arrive pas, dans ma classe Raquette à intégrer la variable reçue par le capteur ...
Je suppose qu'il faudrait utiliser la librairie directement dans ma classe, mais j'avoue être un peu perdu ...
Si vous avez une piste à me donner, je suis prenneur !
D'avance merci !
Hors ligne
Tu ajoutes a ta classe une fonction style
void getValue(float value){
laVariableDeTaClasse=value;
}
Hors ligne
Merci pour ta réponse cgilles, j'ai pigé ta solution mais pas le temps d'ajouter ça ce soir, j'essaye dans les jours qui viennent :-)
Merci encore pour ta rapidité !
EDIT
Vu que mes valeurs sont renvoyées dans un tableau, c'était plutôt chiant de créer une méthode qui puisse gérer ça (surtout qu'au final il y aura deux capteurs), du coup j'ai tout simplement assigné une variable de ma classe à la valeur renvoyée par le capteur, mais dans le ControllerChange, et ça fonctionne !
void controllerChange(int channel, int number, int value) { // Reception messages MIDI numero = number - 48; float capteur = map(value, 0, 127, 50, 440); valeur[numero] = map(value, 0, 127, 50, 440); pad1.ySensor = valeur[0]; pad2.ySensor = valeur[1]; }
Dernière modification par Kirk Van Houten (2012-11-30 12:32:26)
Hors ligne
Pages: 1