Annonce

>>> Bienvenue sur codelab! >>> Première visite ? >>> quelques mots sur codelab //// une carte des membres//// (apéros) codelab


#1 2015-02-13 13:35:25 variables osc réutilisables...

-[eM Tv]-
membre
Date d'inscription: 2011-09-04
Messages: 51

variables osc réutilisables...



Bonjour,
j'ai encore une question de noob pour vous les ami·e·s : comment dois-je déclarer mes variables OSC pour pouvoir les utiliser n'importe où dans mon sketch (notamment dans des fonctions propres à des classes) ?

  
void oscEvent(OscMessage theOscMessage) {  
  String valeur=theOscMessage.addrPattern();

  if (valeur.equals("/xy")) {
    float xOSC = (theOscMessage.get(0).floatValue())*width;
    float yOSC = (theOscMessage.get(1).floatValue())*height;
  }
}

Hors ligne

 

#2 2015-02-13 13:47:28 Re : variables osc réutilisables...

Mushussu
membre
Lieu: Orléans
Date d'inscription: 2012-05-24
Messages: 802

Re: variables osc réutilisables...



Il faut les déclarer avant le setup(). De fait elles seront des variables globales.

Hors ligne

 

#3 2015-02-13 16:18:46 Re : variables osc réutilisables...

-[eM Tv]-
membre
Date d'inscription: 2011-09-04
Messages: 51

Re: variables osc réutilisables...



Merci Mushussu d'avoir pris le temps de me répondre.
C'était mon idée première : avant mon setup j'avais déclaré

import oscP5.*;
import netP5.*;

OscP5 oscP5;
NetAddress myRemoteLocation;

float xOSC;
float yOSC;

void setup() {
  size(600,150, P3D);
  oscP5 = new OscP5(this, 9000);
  myRemoteLocation = new NetAddress("127.0.0.1", 5001);
  background(0);
  etc...;
}

void draw() { 
  blablabla...;
}

class Truc {
  float xA,yB;

  Truc(float xA, float yB) {
     blablabla...;
  }

  void update() {
     float a = xA+xOSC;
     float b = yB+yOSC;
     println(" OSC x: " +xOSC +" / OSC  y: " +yOSC); // pour test...
     blablabla...;
   }
}

void oscEvent(OscMessage theOscMessage) {  
  String valeur=theOscMessage.addrPattern();

  if (valeur.equals("/3/xy")) {
    float xOSC = (theOscMessage.get(0).floatValue());
    float yOSC = (theOscMessage.get(1).floatValue());
  }
}

mais les données ne passent pas ! le print me renvoie 0.0 pour les deux variables.

Hors ligne

 

#4 2015-02-13 19:56:00 Re : variables osc réutilisables...

Mushussu
membre
Lieu: Orléans
Date d'inscription: 2012-05-24
Messages: 802

Re: variables osc réutilisables...



C'est tout à fait normal, tu as bien déclaré tes variable globales xOSC et yOSC. Mais dans la méthode void oscEvent(OscMessage theOscMessage); tu déclares de nouveau des variables de même nom qui elles sont locales. Processing se dit que c'est de nouvelles variables. Enlève les float devant xOSC et yOSC dans la méthode oscEvent et tout devrait fonctionner.

Hors ligne

 

#5 2015-02-14 02:17:32 Re : variables osc réutilisables...

-[eM Tv]-
membre
Date d'inscription: 2011-09-04
Messages: 51

Re: variables osc réutilisables...



yes ! merci. ça marche et j'ai compris !!

Hors ligne

 

fil rss de cette discussion : rss

Pied de page des forums

Powered by FluxBB

codelab, graphisme & code : emoc / 2008-2024