Annonce

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


#1 2013-01-24 07:25:42 Equivalent d'un print() avec controlP5

Taahl
membre
Date d'inscription: 2011-09-19
Messages: 28

Equivalent d'un print() avec controlP5



Salut à tous,

Ma question est toute bête et pourtant je ne trouve pas la réponse... après avoir regardé pratiquement tout les contrôles disponibles avec cp5, je n'ai pas trouvé de solution.

Je suis en train de programmer un petit menu en dropdown pour une application et je souhaiterai savoir si il est possible d'afficher dans ce menu l'état de certaines variables (donc un genre de "textlabel" qui se rafraîchit automatiquement)

Merci et à plus !

Hors ligne

 

#2 2013-01-24 12:26:50 Re : Equivalent d'un print() avec controlP5

mfm
membre
Date d'inscription: 2012-08-30
Messages: 37

Re: Equivalent d'un print() avec controlP5



Salut,

peut-être en convertissant tes variables en String, et affichant celles-ci (en mode texte). wink

imaginons que tu déclares au début de ton script une variable globale :

int a = 0;

et que dans le void draw, celle-ci change de valeur à chaque frame :

void draw () {
a +=1;
}

Si tu veux "imprimer" la valeur de a à chaque frame dans la fenêtre de ton appli, il te suffit, toujours dans le void draw, de convertir a en string, et d'afficher cette dernière en mode texte :

Tu peux aussi utiliser textFont si tu veux une police de caractère spécifique.

Hors ligne

 

#3 2013-01-25 00:35:38 Re : Equivalent d'un print() avec controlP5

Taahl
membre
Date d'inscription: 2011-09-19
Messages: 28

Re: Equivalent d'un print() avec controlP5



Salut,

Merci pour l'idée ! Le problème du text c'est que je ne peux pas l'intégrer à mon menu ControlP5. Du coup, pour l'instant, je m'arrange avec un setValue(maVar) sur des numberbox... à défaut de mieux !

Hors ligne

 

#4 2013-01-25 11:48:24 Re : Equivalent d'un print() avec controlP5

mfm
membre
Date d'inscription: 2012-08-30
Messages: 37

Re: Equivalent d'un print() avec controlP5



Tu peux intégrer tout ça (l'état des variables* ou même l'état des variables + ton menu ControlP5) dans une seconde fenêtre.

*c'est peut-être mieux (enfin… cela dépend de ce que tu veux faire exactement).

Hors ligne

 

#5 2013-01-25 14:11:54 Re : Equivalent d'un print() avec controlP5

mfm
membre
Date d'inscription: 2012-08-30
Messages: 37

Re: Equivalent d'un print() avec controlP5



Regarde l'exemple ControlP5Console (dans les exemples de la librairie) ; c'est ce que tu cherches (a priori).

(Donc oui, il y a bien une classe spécifique pour afficher une console avec la librairie controlP5 : Println).

Hors ligne

 

#6 2013-01-28 11:54:49 Re : Equivalent d'un print() avec controlP5

Taahl
membre
Date d'inscription: 2011-09-19
Messages: 28

Re: Equivalent d'un print() avec controlP5



L'exemple ne fonctionne pas chez moi ! L'erreur retournée est que la classe "Println" n'existe pas...

Entre temps j'ai eu une réponse sur le forum de P5 et qui fonctionne comme je veux :

import controlP5.*;
ControlP5 cp5;
Textlabel myValuelabel;
float value;
 
void setup() {
  size(200, 200);
  cp5 = new ControlP5(this);
  myValuelabel = cp5.addTextlabel("label").setPosition(50, 50);
}
 
void draw() {
  background(0);
  value += 0.01;
  myValuelabel.setText("value: " + nfc(value, 2));
}

merci pour tes réponses en tout cas wink

Hors ligne

 

#7 2013-01-28 15:16:34 Re : Equivalent d'un print() avec controlP5

mfm
membre
Date d'inscription: 2012-08-30
Messages: 37

Re: Equivalent d'un print() avec controlP5



Salut,

Chez moi, cela fonctionne parfaitement pourtant ; tu es sûr que ta librairy est à jour ?

Une adaptation, vite faite, de ton code ci-dessus avec les classes Println et Textarea :

Code (P5) :

import controlP5.* ; 

ControlP5 cp5;
float value =0;
Println console ;
Textarea myValue;

void setup() {
  size (200, 200);
  cp5 = new ControlP5 (this);
  myValue = cp5.addTextarea("txt")
                  .setPosition(50, 50)
                  .setSize(100, 100)
                  .setFont(createFont("", 10))
                  .setLineHeight(14)
                  .setColor(color(200))
                  .setColorBackground(color(0, 0))
                  .setColorForeground(color(255, 100));
  ;
  
  
  console = cp5.addConsole(myValue);
}

void draw () {
  background (150);
  value += .01;
  println ("value: " + value);
}

Hors ligne

 

fil rss de cette discussion : rss

Pied de page des forums

Powered by FluxBB

codelab, graphisme & code : emoc / 2008-2024