Salut à tous,
je voulais avoir votre avis sur un problème auquel je me heurte sur processing.
Quand je tape la commande noLoop() dans la fonction setup(), la fonction mousePressed() ne fonctionne que si elle contient redraw(). Si elle contient des commandes basiques (type rect(), background(), ou autre), elle ne les exécute pas. Même problème si elle est censée appeller une fonction que j'ai écrite moi-même. Seule redraw() fonctionne.
Est-ce que c'est une fatalité ou y'a-t-il quelque chose que je ne comprends pas?
J'ai beau chercher, tous les tutoriels sur les intéractions avec la souris sont en mode loop(). C'est peut-être un indice ceci dit!
Merci aux patients qui auraient une réponse.
bouclettes
Hors ligne
mets ta fonction noLoop(); dans le draw, et appel un loop(); dans ton mouseReleased ou pressed();
Hors ligne
salut,
merci pour ta réponse. du coup j'ai essayé ça:
void setup()
{
size(400,400);
}
void draw()
{
noLoop();
background(0);
fill(255);
rect(100,100,20,20);
}
void mousePressed()
{
loop();
background(0);
fill(255);
rect(100,200,20,20);
}
mais ça marche pas. Il serait censé afficher un deuxième carré blanc plus bas quand je clique.
Je me suis planté sur l'endroit où placer les loop(), noLoop()?
Hors ligne
teste ça :
void setup() { size(400, 400); } void draw() { background(0); fill(255); rect(100, 100, 20, 20); if (mousePressed) { background(0); fill(255); rect(100, 200, 20, 20); } }
Hors ligne
ou ça:
boolean play = false; void setup(){ size(400, 400); background(0); fill(255); rect(100, 100, 20, 20); } void draw(){ if (play) { background(0); fill(255); rect(random(width-20),random(height-20), 20, 20); play=false; } noLoop(); } void mousePressed(){ play=true; loop(); }
ici le code ne loop pas en continue et on ne revient pas au dessin initial
Hors ligne
Merci pour vos réponses.
Pour vous expliquer un peu, parce que là je me rends compte que c'est un peu obscur comme question, je voudrais réaliser des widgets (curseurs, boutons) qui fonctionne même en mode noLoop() et donc qui ne font pas directement monter le processeur à 10% d'utilisation pour un widget.
Chouettes astuces, je vais continuer à les essayer.
bouclettes
Hors ligne
le truc c'est que pour redessiner ton gui tu dois passer par un loop() ne serait ce qu'une frame
Hors ligne
Ouais, c'est ça! ça me parait évident maintenant mais au début...
Du coup, je me demande s'il est vraiment possible sans surcharger le processeur et donc de ramer de vouloir créer plusieurs sliders, plusieurs boutons? L'idée finale étant de créer un logiciel de régie son fiable et léger.
Si certains ont déjà lu d'autres post que j'ai lancé, ils vont se dire que je radote
Hors ligne
en utilisant un mode de rendu exploitant la carte graphique plutôt que du p2d, ça roulera bien mieux.
Est ce que tu as testé la version beta 2 , et la librairie control p5 ?
Hors ligne
Effectivement, en utilisant opengl ça diminue presque de moitié la charge du processeur. J'ai justement essayé sur les exemples de controlP5. Le code pour knob au repos prend 20% environ du proc. Et il n'y a que 2 rotatifs!! Avec opengl, ça descend vers 14% mais bon, ça reste trop pour moi. Des rotatifs, il va m'en falloir plus que 2!
Pas tester la version beta 2, toujours à la version 1.5.1
Une amélioration de ce côté là?
Hors ligne
ben c'est un des grands changements, plus de mode processeur, que du mode opengl
Hors ligne
Ok, merci pour les tuyaux! Je vais voir avec cette nouvelle version ce que ça donne.
Et puis sinon, ben apprentissage c++!
Hors ligne
Si tu veux passer a du c++, va directement à OpenFrameworks.
Mais est ce que ta consommation de processeur est linéaire par rapport a ton nombre de potards ( 1 potard = 7%,2 potard = 14% 3 potard =21 %.
Sinon passe a la teensy pour te faire une interface en hardware via midi et juste faire un moteur en processing
Hors ligne
Effectivement, OF m'intéresse particulièrement. Mais bon, je vais déjà essayer de bien intégrer les principes de POO. Un peu fastidieux les programmes consoles, mais je crois que ça vaut le coup.
Tu as raison, je n'ai pas fait vraiment ce test en multipliant les objets. J'ai perdu l'espoir avant , je vais essayer pour en avoir le coeur.
Merci pour l'info, je vais me renseigner sur teensy. Une sorte de mini-arduino?
Hors ligne
Hors ligne
Pages: 1 2