Bonjour,
Suite à quelques recherches infructueuses je me tourne vers vous, je voulais savoir si il était possible de créer une interface comprenant des liens permettant d'ouvrir d'autre programmes réalisé avec processing.
Pour l'instant j'ai testé une solution avec des conditions "si je clique dans tel zone alors il se passe cela"
void setup (){ size(1280, 1024); } void draw(){ fill(0); noStroke(); rect(10,10,50,50); if (mousePressed && mouseX > 10 && mouseX<60 && mouseY>10 && mouseY<60){ rect(100,100,50,50); } }
Mais dans ce cas la réaction est juste le dessin d'un nouveau rectangle donc une ligne de code assez simple, or j'aimerais renvoyer vers une dizaine de programmes réaliser avec processing et recopier tous les codes suite à chaque condition "if" risque de me donner un programme à rallonge. J'aimerais donc savoir si il existe d'autre solutions ?
J'espère avoir été a peu près claire dans mes intentions si ce n'est pas le cas n'hésitez pas à me demander plus de précision.
En espérant vous lire bientôt,
Merci !
Hors ligne
Voici une solution possible, en utilisant seulement que des fonctions:
void setup(){ size(300, 300); } void draw(){ zone(100, 100, 50, 50, 1); zone(250, 250, 20, 20, 2); } void zone(int x, int y, int l, int h, int n){ rect(x, y, l, h); if(mousePressed){ if(mouseX > x && mouseX < x + l && mouseY > y && mouseY < y + h){ if(n == 1){ niveau1(); } else { niveau2(); } } } } void niveau1(){ ellipse(200, 200, 100, 100); } void niveau2(){ ellipse(50, 50, 100, 100); }
Une fois ce code compris, si tu veux aller plus loin, tu pourrais peut etre regarder autour de la POO…
Dernière modification par jojolaglaise (2015-11-11 21:16:07)
Hors ligne
Ok merci beaucoup pour ta réponse, tu peux m'éclaircir sur la "POO" ?
Et je suis tombé sur une fonction open() qui permettrait de renvoyer vers des appli externe mais plus moyen de le retrouver dans l'aide de processing, ça vous parle ? Parce que j'aimerais avoir la possibilité d'ouvrir des fichiers exe à partir de ces espèces de bouton, mais suite à mes recherches j'ai pas l'impression que processing soit la meilleure des solutions, des idées ?
Hors ligne
Ah si tu veux ouvrir des sketchs Processing déjà compilés tu peux effectivement ouvrir des programmes avec la fonction exec() ou open(). On utilise exec() sous Mac et open() avec Windows. Ces deux fonctions permettent d'utiliser des commandes.
Sous mac par exemple (connais pas windows):
String[] commande = {"open", "Applications/Programme.app"}; exec(commande);
Pense à modifier le lien du répertoire, ici "Applicaitons/Programme.app".
Sinon, je modifie un peu le code que je t'avais donné plus haut, ça te donnera peut-être des idées pour lancer différents sketchs depuis une seul programme…
void setup(){ size(300, 300); frameRate(15); } void draw(){ zone(0, 0, 50, 50, 0); zone(50, 0, 50, 50, 1); zone(100, 0, 50, 50, 2); } void zone(int x, int y, int l, int h, int sketch){ rect(x, y, l, h); if(mousePressed){ if(mouseX > x && mouseX < x + l && mouseY > y && mouseY < y + h){ if(sketch == 0){ sketch0(); } else if(sketch == 1){ sketch1(); } else { sketch2(); } } } } void sketch0(){ background(255, 0, 0); ellipse(200, 200, 100, 100); } void sketch1(){ background(0, 255, 0); ellipse(100, 250, 100, 100); } void sketch2(){ background(0, 0, 255); line(0, 0, width, height); }
Dernière modification par jojolaglaise (2015-11-12 11:45:50)
Hors ligne
Ok la première solution correspond à un fragment de code que j'avais trouvé et correspondrait totalement à ce que je voulais faire et j'ai bien modifier le lien du répertoire et pourtant le message d'erreur suivant apparait : "Syntax error on token 'interface', Identifier expected", j'oublie quelque chose ?
Hors ligne
Bonsoir,
Pour la POO, voici un lien en français qui pose les bases :
http://www.flossmanualsfr.net/processin … les-objets
Sinon, je te conseille de fureter le site de Daniel Schiffman :
http://learningprocessing.com
Les exemples sont bien faits.
Si tu as des questions n'hésite pas à en poser sur ce forum qui est très actif.
Bon apprentissage
Hors ligne
Ok merci pour la doc' je vais voir ce que je peux en tirer !
Hors ligne
Pages: 1