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
Salut,
peut-être en convertissant tes variables en String, et affichant celles-ci (en mode texte).
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
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
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
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
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
Hors ligne
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 :
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
Pages: 1