Processing problème moussePressed - Page 2
Répondre à la discussion
Page 2 sur 3 PremièrePremière 2 DernièreDernière
Affichage des résultats 31 à 60 sur 63

Processing problème moussePressed



  1. #31
    invitefc6bcdf9

    Re : Processing problème moussePressed


    ------

    Je m'en doute oui, mais je n'ai plus beaucoup de temps, je voulais voir comment ça fonctionnais et comment on agençais ce type de programme du coup j'ai copié collée un code tout fait
    mais tout est souligné, pourtant j'ai apporté tous les éléments qui devait servir au programme, je vais en tester un autre et sinon je vais essayer d'en coder un bout moi même mais si ça ne marche pas je passe au python

    -----

  2. #32
    pm42

    Re : Processing problème moussePressed

    Citation Envoyé par Kaloo59 Voir le message
    mais si ça ne marche pas je passe au python
    Cela ne changera rien. Ce qu'il faut, c'est que tu utilises une librairie standard où on met facilement des boutons. Là, tu essayais de faire tout à la main et ce n'est pas raisonnable en général et encore moins pour un débutant.

  3. #33
    invitefc6bcdf9

    Re : Processing problème moussePressed

    Je me lance dans du python, je me rend compte que tout mon graphisme est basé sur ce langage, le plus gros n'est plus à faire et je le comprend mieux

    Excusez moi je n'avais pas vue votre message, je vais suivre votre conseil et réessayer java

  4. #34
    pm42

    Re : Processing problème moussePressed

    Citation Envoyé par Kaloo59 Voir le message
    Je me lance dans du python, je me rend compte que tout mon graphisme est basé sur ce langage, le plus gros n'est plus à faire et je le comprend mieux
    Ok. Tu sais quelle librairie tu vas utiliser pour faire ton interface ?

  5. #35
    Ikhar84
    Animateur Informatique

    Re : Processing problème moussePressed

    Sans vouloir être méchant, tu viens nous voir au bout de UN an, sans avoir jamais testé ton code, sans même avoir une idée du nom du langage que tu utilises, en accusant ton prof de tous les maux... le fautif est, clairement, toi et toi seule...

    Maintenant si tu veux avancer, Java n'est pas le langage le plus simple à maîtriser, surtout si tu te contentes copier/coller du code pris au hasard sur le net.

    Il va falloir que tu te poses. Que tu réflechissent bien à ton projet, sans parler de langage, que tu en traces les grandes lignes.

    Ensuite, tu te choisis un langage facile à prendre en main et avec un IDE "visuel" pour gagner du temps sur la conception de ton interface utilisateur.
    J'ai glissé Chef !

  6. #36
    invitefc6bcdf9

    Re : Processing problème moussePressed

    Je comprend, je dois vous avouez que l'informatique n'a jamais été mon fort
    Il est vrai que j'accuse mon professeur mais pendant un an il est venu nous aider à coder, à avancer et notre programme fonctionnait très bien jusqu'à ce que je me mette à compiler mes programmes où j'avais juste un problème de mouse
    Sauf que là on m'a dit que je ne codais dans aucun langage soit que mon code était totalement faux
    Je veut bien comprendre que j'ai ma part de responsabilité mais le prof en a aussi un peu

    Le programme que j'avais écrit ne copicollais pas de base mais dans l'urgence actuelle je voulais juste tester cette façon de coder, avoir un aperçue mais visiblement ce n'était pas une bonne idée
    Mon programme est déjà tout réfléchis, avec mon amis on a une idée très net de ce que l'on projette de notre programme, on sait exactement ce que l'on veut et on est prête à l'adapter face aux difficultés que l'on va rencontrer
    Le problème c'est que je ne pense pas pouvoir prendre un autre IDE que processing que je possède actuellement car on l'avait défini en cours avec le professeur et je n'en connais pas d'autre, mais si vous en avez à me proposer je reste ouverte pour essayer

  7. #37
    invitefc6bcdf9

    Re : Processing problème moussePressed

    Je pensais à TKinter mais pensez vous que ce serais adapté ?

    Mais dans processing il me semble qu'il y en a déjà une intégrée au logiciel

  8. #38
    pm42

    Re : Processing problème moussePressed

    Citation Envoyé par Kaloo59 Voir le message
    Je pensais à TKinter mais pensez vous que ce serais adapté ?
    Oui, c'est un choix standard et bien documenté.

    Citation Envoyé par Kaloo59 Voir le message
    Mais dans processing il me semble qu'il y en a déjà une intégrée au logiciel
    A un moment, il va falloir que tu fasses un choix et que tu codes plutôt que de tourner en rond.

  9. #39
    invitefc6bcdf9

    Re : Processing problème moussePressed

    Alors je fonce sur TKinter

  10. #40
    invite44510b00

    Re : Processing problème moussePressed

    Citation Envoyé par Kaloo59 Voir le message
    Je comprend, je dois vous avouez que l'informatique n'a jamais été mon fort
    Il est vrai que j'accuse mon professeur mais pendant un an il est venu nous aider à coder, à avancer et notre programme fonctionnait très bien jusqu'à ce que je me mette à compiler mes programmes

    Est ce à dire que tu as codé sans compilation pendant tout ce temps en espérant que cela tombe en marche ?

  11. #41
    invitefc6bcdf9

    Re : Processing problème moussePressed

    Nonon, je compilais petit à petit, quand j'avais fini deux partie je les mettais ensemble
    mais c'est quand j'ai commencée à leur demander plus d'actions que je me suis rendue compte que des détails n'allaient pas

  12. #42
    albanxiii
    Modérateur

    Re : Processing problème moussePressed

    Citation Envoyé par Kaloo59 Voir le message
    Excusez moi, je met un gros coup de stress à tout le monde mais là il faut que j'avance très vite, je n'ai plus le choix sinon je vais être éliminée si je présente un programme incomplet
    Ne vous inquiétez pas, cette perspective ne me stresse pas du tout
    Not only is it not right, it's not even wrong!

  13. #43
    invite6486d7bd

    Re : Processing problème moussePressed

    Citation Envoyé par pm42 Voir le message
    A un moment, il va falloir que tu fasses un choix et que tu codes plutôt que de tourner en rond.
    C'est clair que vous n'avez aucune idée de ce qu'est processing.
    Moi non plus d'ailleurs (), mais en informatique on ne peut pas tout savoir, c'est normal, et il faut se renseigner au cas par cas (merci internet d'ailleurs).

    Il code déjà dans un langage : "processing", qui inclus une interface IDE, la PDE (Processing Development Environment) .

  14. #44
    invitefc6bcdf9

    Re : Processing problème moussePressed

    Excusez moi, vous sous entendez que mon code est ''bon'', enfin ce que je veut dire c'est que ce que j'ai envoyée c'est sous langage processing et pas un mélange de plusieurs langages ?

  15. #45
    pm42

    Re : Processing problème moussePressed

    Citation Envoyé par Kaloo59 Voir le message
    Excusez moi, vous sous entendez que mon code est ''bon'', enfin ce que je veut dire c'est que ce que j'ai envoyée c'est sous langage processing et pas un mélange de plusieurs langages ?
    Tu peux ignorer tous ses messages. Là, il a juste fait une recherche rapide pour dire un truc qu'il croit malin mais qui est faux. C'est tout le temps comme ça.

    Si on ne t'a pas conseillé de continuer en Processing, ce n'est pas par hasard : l'environnement est très typé pour un usage "art graphiques" et leur constructeur d'interface est simpliste et fait pour dessiner, pas pour ce que tu veux.
    C'est justement pour cela que tu t'es retrouvé coincé avec les mouseClick.

  16. #46
    invitefc6bcdf9

    Re : Processing problème moussePressed

    D'accord je vois, je vais voir ce que je peut faire

    Merci encore

  17. #47
    invite6486d7bd

    Re : Processing problème moussePressed

    Citation Envoyé par Kaloo59 Voir le message
    Excusez moi, vous sous entendez que mon code est ''bon'', enfin ce que je veut dire c'est que ce que j'ai envoyée c'est sous langage processing et pas un mélange de plusieurs langages ?
    Bon, je ne sais pas, mais si, comme vous disiez, les programmes fonctionnaient individuellement, c'est surement pas un mélange de plusieurs langage.
    On voit d'ailleurs des mots clefs du langage processing, comme text, fill, et puis setup() ou draw().

    Ca a l'air de correspondre à ça :
    https://fr.flossmanuals.net/processing/les-methodes/

    Donc, à mon avis, vous pourriez vous dépatouiller pour faire de vos programmes individuel un seul et même programme.
    Pour la gestion de la souris : https://fr.flossmanuals.net/processi...ements-souris/

    Ensuite, il est clair qu'il faut changer l'algorithme de gestion de la souris et du clavier qui étaient dans les programmes individuels.
    Une méthode simple, c'est de déterminer dans quel "Ecran" on se situe (stoquer la valeur dans une variable, par exemple NumEcran=0 ou 1 ou 2 etc
    Puis, lors d'un Evenement Souris, ou clavier, agir en fonction de l'écran dans lequel on se trouve (celui qu'on est en train d'afficher en fait)

    Donc, le code indiqué dans la procedure draw(), qui est appelée automatiquement par "processing" (enfin à première vue 'est comme ça que je le vois) doit aussi tenir compte du numéro d'écran en cours, pour n'afficher que les données relatives à l'écran en cours.

    Pour commencer donc, je vous suggère de définir un diagramme d'enchainement des écrans.
    Comme ça par exemple : https://www.researchgate.net/figure/...fig3_265907297


    Ca vous permet de définir rigoureusement (ce qui facilite ensuite la programmation) les conditions qui amènent au changement du numéro d'écran.

  18. #48
    invite6486d7bd

    Re : Processing problème moussePressed

    Citation Envoyé par pm42 Voir le message
    C'est justement pour cela que tu t'es retrouvé coincé avec les mouseClick.
    Serieux ?

  19. #49
    invitefc6bcdf9

    Re : Processing problème moussePressed

    C'est exactement ce que je recherche mais je ne sais pas comment déterminer les écrans :
    Imaginons que je sois dans le menu soit mon écran 0
    Comment est ce que j'y introduit la variable NumEcran = 0 ? Et comment expliquer à la souris que quand elle est dans cet écran elle affiches ces boutons et pas les autres ?

    Je suis en train de faire mon diagramme mais il est assez simple, plus que celui que vous m'avez joint donc je ne comprend pas pourquoi mon code ne fonctionne pas

  20. #50
    invitefc6bcdf9

    Re : Processing problème moussePressed

    En tout cas merci pour votre aide à tous

  21. #51
    invite6486d7bd

    Re : Processing problème moussePressed

    Citation Envoyé par Kaloo59 Voir le message
    C'est exactement ce que je recherche mais je ne sais pas comment déterminer les écrans :
    Imaginons que je sois dans le menu soit mon écran 0
    Comment est ce que j'y introduit la variable NumEcran = 0 ?
    Facile, vous faites comme lorsque vous avez défini les autres variables (NumEcran est une variable).
    Code:
    boolean button = false; 
    boolean button1 = false;
    boolean button2 = false;
    boolean skip = false;
    Il vous faut une variable d'un autre type que boolean, un entier fera l'affaire :
    Ici, vous avez la doc concernant les variables : https://fr.flossmanuals.net/processing/les-variables/

    Donc vous rajoutez une ligne
    Code:
    int NumEcran = 0;
    Et comment expliquer à la souris que quand elle est dans cet écran elle affiches ces boutons et pas les autres ?
    Ce n'est pas la souris qui affiche les écrans.
    Les bons écrans s'afficheront en fonction de la valeur de la variable NumEcran.
    La souris (les différents évènement de souris en fait) va par contre être prise en compte différement selon
    l'écran "dans lequel on se trouve" (selon la valeur de NumEcran donc) et éventuellement changer NumEcran.

    Par exemple :
    Code:
    void mouseClicked() 
    {  
     if (mouseButton == LEFT)   fill(0);  
     if (mouseButton == RIGHT)  fill(255);  
     if (mouseButton == CENTER) fill(128); }
    Ce code, qui est appelé à chaque "click" (un appui et un relâchement) sur un bouton de souris (c'est géré automatiquement par "processing"), réagit en fonction des évènements (LEFT => Appui bouton gauche, RIGHT=> Appui bouton droit, CENTER=>Appui bouton central s'il existe) pour effectuer un fill().

    Vous, vous voulez quelque-chose comme ça (c'est un exemple pour des écrans qui s'echainent 0 -> 1 -> 2 sur des boutons placés au même endroit (c'est un exemple à adapter bien sûr))

    Code:
    void mouseClicked() {
    
    if (NumEcran == 0)
    {
    if (mouseButton == LEFT)   
    {
    if (mouseX > 577 && mouseX < 577+200 && mouseY > 400 && mouseY < 400+60) NumEcran=1;
    }
    }
    
    else if (NumEcran == 1)
    {
    if (mouseButton == LEFT)
    {
    if (mouseX > 577 && mouseX < 577+200 && mouseY > 400 && mouseY < 400+60)   NumEcran=2;
    }
    }
    
    else if (NumEcran ==2)
    {
    if (mouseButton == LEFT) 
    {
    if (mouseX > 577 && mouseX < 577+200 && mouseY > 400 && mouseY < 400+60)  NumEcran=3;}
    }
    
    }
    Autre remarque.
    Je vois que vous avez employé les variables button, button1, button2, dans votre algorithme.
    je pense que vous pouvez vous en passer (ca évitera de devoir remttre toutes ces variables à false, sauf celle du bouton actif, à chaque clic bouton).

    Voir ici pour mouseClicked (qui diffère de mousePressed indiqué dans le précédent tutoriel)
    https://processing.org/reference/mouseClicked_.html


  22. #52
    invitefc6bcdf9

    Re : Processing problème moussePressed

    Whaou, ça me paraît tout clair maintenant, merci beaucoup ! Je teste ça après mangée et je vous dit ce qu'il en ai
    Merci beaucoup ! vous m'êtes d'une grande aide !

  23. #53
    invite6486d7bd

    Re : Processing problème moussePressed

    Citation Envoyé par Kaloo59
    Et comment expliquer à la souris que quand elle est dans cet écran elle affiches ces boutons et pas les autres ?
    Donc je reprend la question.
    Comment expliquer à "processing" que quand "il est" dans cet écran il affiche ces boutons et pas les autres ?
    Processing a une procédure standard draw(), qui est appelée en boucle plusieurs fois par seconde.
    Il suffit donc, en fonction du numéro d'écran en cours, d'afficher tout ce qui relatif à la page en cours.
    (En fait vous pouvez appeler la procédure "menu "qui va bien (vu que vous les avez déjà programmées pour chaque écran)
    Renommez vos menus en menu0, menu1, menu2 (c'est un exemple).)

    Par exemple :

    Code:
    void draw()
    {
    if NumEcran == 0
    {
      menu0();
    }
    else if NumEcran == 1
    {
      menu1();
    }
    else if NumEcran == 2
    {
      menu2();
    }
    }
    Je précise qu'afficher un "bouton", n'a rien à voir avec la notion de bouton qu'on retrouve en programmation objet.
    C'est juste une forme (Vous, vous avez aussi mis du texte dessus etc), et elle est indépendante de la souris.
    C'est la raison pour laquelle vous vérifiez la position mouseX et mouseY , qui sont des variables standards intégrées à "processing", et que vous comparez donc ces valeurs à la position de la forme.

  24. #54
    Ikhar84
    Animateur Informatique

    Re : Processing problème moussePressed

    Je pense très sincérement que cette voie mène droit au mur...

    Il faut oublier cette interface dessinée à la main et ces test basés sur des positions pour determiner ce qui est survolé ou cliqué... et ces mousePressed ou mouseMachin...
    J'ai glissé Chef !

  25. #55
    invite44510b00

    Re : Processing problème moussePressed

    Citation Envoyé par Ikhar84 Voir le message
    Je pense très sincérement que cette voie mène droit au mur...
    ...
    Oui, on a du mal à imaginer pourquoi un débutant c'est lancé dans une telle usine à gaz pour remplir un besoin somme toute simple.

  26. #56
    pm42

    Re : Processing problème moussePressed

    Citation Envoyé par Fustigator Voir le message
    Oui, on a du mal à imaginer pourquoi un débutant c'est lancé dans une telle usine à gaz pour remplir un besoin somme toute simple.
    C'est ce qu'on a dit plus haut : il a pris le mauvais environnement de développement pas du tout adapté à son besoin.
    Et à la fin, cela oblige à remplacer 1 ligne par 10 avec des constantes magiques, etc.

    Il est évident que c'est une voie sans issue comme le dit Ikhar84 et en tant que prof, si quelqu'un se pointait avec du code comme ça en 2019, je lui demanderais pourquoi il a fait quelque chose qui date des années 70, disons tout début des années 80 au mieux.

    Mais bon, c'est son problème.

  27. #57
    invite6486d7bd

    Re : Processing problème moussePressed

    Citation Envoyé par Ikhar84 Voir le message
    Je pense très sincérement que cette voie mène droit au mur...
    Au contraire, vu la simplicité du langage et sa forte potentialité dans le domaine graphique, c'est à mon avis un langage adapté pour un débutant qui veut faire des jeux graphiques en quelques clics.

    Citation Envoyé par OpenClassRoom
    Processing est un langage et un environnement de programmation open-source (c'est aussi le nom du compilateur).

    Il est employé par des étudiants, des artistes, des créateurs, des chercheurs, et des amateurs.

    Ce language basique offre de très nombreuses possibilités, et laisse libre cours à votre imagination, notamment grâce à sa centaine de librairies disponibles.

    Le logiciel fonctionne sur Macintosh, sous Windows et sous Linux, en effet il est basé sur la plate-forme Java.
    Processing offre la possibilité de faire de la 3D, des jeux en réseau, des effets de son et lumière mais aussi bien d'autres possibilités.
    https://openclassrooms.com/fr/course...t-de-commencer

    Il faut oublier cette interface dessinée à la main et ces test basés sur des positions pour déterminer ce qui est survolé ou cliqué... et ces mousePressed ou mouseMachin...
    Sans être trop compliqué à mettre en œuvre (et çà permet, comme vous le voyez, d'introduire la notion de diagramme d’enchainement d'écran couramment employé dans les méthodes de programmation en entreprise).
    C'est donc en tous cas instructif.
    On peut apprendre à rationaliser, par exemple en remplaçant les valeurs définissant les rectangles (boutons) par des variables qui seront également employées lors des tests de positionnement du curseur souris dans les boutons.

    Et vous oubliez que la part essentielle de l'application, c'est un jeu graphique (au lieu d'appeler menu2() par exemple, on appelle jeu() et hop on exécute ce qui se passe dans la procédure jeu).

    Il faudrait voir ce que permet la centaine de bibliothèques additionnelles pour se faire une idée de ses limitations.

  28. #58
    invite44510b00

    Re : Processing problème moussePressed

    Citation Envoyé par pm42 Voir le message
    C'est ce qu'on a dit plus haut : il a pris le mauvais environnement de développement pas du tout adapté à son besoin.
    Et à la fin, cela oblige à remplacer 1 ligne par 10 avec des constantes magiques, etc.
    Je ne connais pas du tout "Processing"; à vrai dire, je n'en avais jamais entendu parler avant ce sujet (et ne suis donc pas un expert comme Le Mulet).
    A vrai dire, j'avais même un peu de mal à comprendre ce que c'est. (bon, je n'avais pas cherché à vrai dire).

  29. #59
    pm42

    Re : Processing problème moussePressed

    Citation Envoyé par Fustigator Voir le message
    Je ne connais pas du tout "Processing"; à vrai dire, je n'en avais jamais entendu parler avant ce sujet (et ne suis donc pas un expert comme Le Mulet).
    C'est un environnement fait pour apprendre la programmation à des non-programmeurs dans le domaine des arts graphiques.
    En pratique et telle qu'il a été utilisé ici, c'est un Java avec un accès simplifié aux primitives graphiques de bas niveau uniquement (AWT) qu'on n'utilise normalement plus depuis 20 ans pour faire des interfaces et dont même le successeur (Swing) est obsolète.

  30. #60
    invitefc6bcdf9

    Re : Processing problème moussePressed

    LeMulet, j'ai essayée votre programme mais cette fois si je ne peut même plus l'exécuter, je pense que c'est surement due à une erreur de ma part mais voici un bout de mon programme que j'ai refais, y a t'il une erreur flagrante ?

    int NumEcran = 0;

    void setup() {
    size(1355,700);
    }

    void draw() {

    if (NumEcran==0){
    menu();
    }
    else
    if (NumEcran == 1){
    regle();
    }
    else
    if (NumEcran ==2){
    niveaux();
    }
    else
    if (NumeEcran == 3){
    jeu();
    }

    else
    if (NumEcran == 4){
    sushimojis();
    }

    }

    void mouseClicked() {

    if (NumEcran == 0) {
    if (mouseButton == LEFT) {
    if (mouseX > 577 && mouseX < 577+200 && mouseY > 400 && mouseY < 400+60){
    NumEcran=1;
    }
    else
    if (mouseX > 577 && mouseX < 577+200 && mouseY > 300 && mouseY < 300+60){
    NumEcran =2;
    }
    else
    if
    (mouseX > 577 && mouseX < 577+200 && mouseY > 500 && mouseY < 500+60){
    NumEcran = 3;
    }
    }
    }

    //ici j'aurais (plus tard) plus de ligne, mais pour tester le programme je n'en ai mis qu'une donc si je vais à l'écran 1 par le menu, il devra me diriger vers l'écran 4
    else
    if (NumEcran == 1){
    if (mouseButton == LEFT){
    if (mouseX > 577 && mouseX < 577+200 && mouseY > 400 && mouseY < 400+60){
    NumEcran=4;
    }
    }

    else if (NumEcran ==2)
    {
    if (mouseButton == LEFT)
    {
    if (mouseX > 577 && mouseX < 577+200 && mouseY > 400 && mouseY < 400+60){
    NumEcran=3;
    }
    }
    }
    }
    }

    void sushimojis(){
    int NumEcran = 4;
    //... ect
    }

    Comme vous m'avez dit j'ai retiré mes variables boaléan au début de mon programme pour n'avoir que les boutons clickés
    Mais il m'affiche en boucle "unexpected token: void'' sur la page 3 alors qu'il m'est utile, je pense que mon erreur vient de void draw mais je ne sais pas où
    En attendant votre réponse je continue mes tests sur votre méthode, je sens vraiment que on approche du but !

Page 2 sur 3 PremièrePremière 2 DernièreDernière

Discussions similaires

  1. Probleme processing
    Par invite73cc98a5 dans le forum Logiciel - Software - Open Source
    Réponses: 3
    Dernier message: 16/03/2015, 18h49
  2. Problème avec Processing
    Par invite3329a62b dans le forum Électronique
    Réponses: 3
    Dernier message: 10/01/2015, 16h09
  3. Problème de création d'objet [PROCESSING]
    Par croco01 dans le forum Programmation et langages, Algorithmique
    Réponses: 14
    Dernier message: 10/08/2013, 13h29