Processing problème moussePressed
Répondre à la discussion
Page 1 sur 3 12 DernièreDernière
Affichage des résultats 1 à 30 sur 63

Processing problème moussePressed



  1. #1
    Kaloo59

    Processing problème moussePressed


    ------

    Bonjour à tous,
    Je suis actuellement en terminale S en spécialité ISN (que j'ai choisi par simple curiosité et envie de découverte)
    Je travail actuellement sur un projet nommé SuhiShow codé en langage python, et je rencontre un problème
    Avec mon amie on s'est répartie les tâches, pendant qu'elle s'occupe des niveaux, je m'occupe de l'interface (c'est a dire menu, règles, sélection de personnage, ect)
    J'ai donc créer un programme avec plusieurs onglets (permettant de relier tous mes programmes élaborés ultérieurement)
    Mais j'ai un problème avec la fonction mousePressed : je ne sais pas où la mettre dans mon programme pour qu'elle fonctionne sur toutes mes pages, j'ai eu beau essayée plein de technique et fais des recherche impossible de trouver
    Avec mon programme actuelle, quand je clique sur un bouton il m'ouvre la page suivante (jusque là pas de problème) mais impossible de créer un bouton sur cette page me renvoyant au menu ! De plus les boutons de la page précédente restent et fonctionnent à l'arrière de mon programme
    Je ne sais vraiment pas quoi faire pour me sortir de là et pouvoir avancer sur mon programme c'est pourquoi je sollicite votre aide
    Si vous avez une solution ou même une moindre piste je suis ouverte pour tout essayer
    En vous remerciant d'avance

    Ps : N'hésitez pas à me demander mon code si la façon don j'explique ne vous paraît pas clair

    -----

  2. #2
    Kaloo59

    Re : Processing problème moussePressed

    S'il vous plait, j'ai vraiment besoin d'aide
    Le Bac approche et je ne sais pas comment n'en sortir

  3. #3
    Kaloo59

    Re : Processing problème moussePressed

    S'il vous plait, j'ai vraiment besoin d'aiiiiide :'(
    Je suis totalement perdue

  4. #4
    Fustigator

    Re : Processing problème moussePressed

    Je ne connais pas Python mais si j'en juge par ce lien, j'ai un peu de mal à comprendre la difficulté. La condition d'observation de l'event est clairement définie :
    https://processing.org/reference/mousePressed_.html

  5. A voir en vidéo sur Futura
  6. #5
    Fustigator

    Re : Processing problème moussePressed

    Sinon, un sujet sur SOF pile poil sur la question : https://stackoverflow.com/questions/...-mouse-clicked

  7. #6
    Kaloo59

    Re : Processing problème moussePressed

    Merci pour vos réponses, je vais tout étudier et essayer et je vous dirais de ce qu'il en ai de mes expériences !

  8. #7
    Kaloo59

    Re : Processing problème moussePressed

    En réalité la fonction mousePressed est assez simple et ne me pose pas de difficultés
    Voici deux images de mon programme pour illustrer mon problème :
    Sur la première image on aperçois une sorte de menu composé de 3 boutons chacun envoyant à une page
    Capture d’écran (191).jpg
    La fonction mousePressed fonctionne ici, c'est à dire que la page s'affiche quand je clique sur un bouton
    Mais comme on peut le voir sur l'image de la seconde page au curseur de la souris, le bouton reste cliquable en arrière plan et je ne sais pas comment l'en empêcher
    Capture d’écran (195).jpg
    Je ne suis pas sure mais je pense qu'il faut trouver un moyen pour annuler l'effet des 3 boutons lorsque l'un d'entre eux est cliqué, de façon à ce qu'ils disparaissent lorsqu'on est sur une autre page et réapparaissent quand on retourne au menu
    De plus, le bouton skip devrait ramener au menu mais impossible de le programmer
    là je pense que c'est une erreur de position de ma déclaration de variable mais je ne sais pas où la déclarer, voulez vous que je vous envoie des capture d'écran de mon code afin que vous puissiez voir mon organisation et ce qui me pose problème plus particulièrement (car j'ai en effet beaucoup de mal à expliquer)
    Images attachées Images attachées  

  9. #8
    Ikhar84
    Animateur Informatique

    Re : Processing problème moussePressed

    Si le but est de gérer l'action du clique sur un bouton, l'evenement moussePressed est peut être mal choisi.

    Je soupconne une très mauvaise conception déjà à la base. Posez votre code avec les bonnes balises pour l'indentation, et il y aura sûrement des adeptes de Python, que je ne suis pas, qui passeront par là !
    J'ai glissé Chef !

  10. #9
    Kaloo59

    Re : Processing problème moussePressed

    Merci beaucoup pour votre aide, je vais revoir encore quelques agencements de mon programme pour qu'il soit compréhensible et je posterais ce dernier surement dès ce soir en espérant que quelqu'un finisse par pouvoir m'aider !

    Encore merci et bonne fin de zournée !

  11. #10
    Kaloo59

    Re : Processing problème moussePressed

    J'ai trouvée une fonction appelée mouseClicked (surement plus appropriée pour mon usage)
    Pour faire plus simple, la première étape de mon problème à résoudre c'est que j'aimerai que mon programme face ça (en quelque sorte):
    "Quand je suis dans la page 1, j'affiche le bouton 1 (menant à la page 2) , 2 et 3 et quand je suis dans la page 2 je n'affiche pas les anciens boutons mais un nouveau qui renvoie à la page 1"
    Désolée, comme je ne m'y connais pas trop j'ai vraiment du mal à exprimer ce qui ne fonctionne pas dans mon programme

    En attendant de nouvelles réponses je continue de travailler sur mon problème ! Si jamais je trouve la solution alors je la posterais mais pour le moment j'en suis loin

  12. #11
    LeMulet

    Re : Processing problème moussePressed

    Je ne vois pas encore les captures écran (pas encore validées par la modération).
    Par contre, je pense aussi que le "design" est mal conçu (enfin, çà se discute, je ne connais pas la complexité des programmes en jeu).

    Si je comprend bien, vous avez plusieurs programmes (qui peuvent tourner indépendamment), dont un qui sert de lanceur pour les autres.

    Donc si vous les lancez les programmes depuis le "menu", il faut gérer le focus.

    Par exemple, si vous lancez le menu (programme A), et faites un lancement du programme B, il faut indiquer au système d'exploitation que les évènements interactifs s'appliquent maintenant à la session interactive du programme B (mettre la fenêtre du programme B au premier plan) et non plus au programme A.
    Ca peut être assez compliqué à gérer, vu qu'il faut faire de la programmation système pour récupérer les numéros d'instance des programmes.
    Bonjour, et Merci.

  13. #12
    Kaloo59

    Re : Processing problème moussePressed

    A vrais dire c'est ma première année en programmation, donc je dois avouer que notre design n'est pas très élaboré et est a base d'éléments géométriques et d'images (provenant d'internet ou parfois dessinées sur informatique par une amie participant à ce projet)
    Je ne sais pas si il est mal conçus en tout cas il est assez simpliste (j'espère que les images seront vites validées pour que vous aillez un rapide aperçus)

    Oui c'est bien ça, au départ j'ai bien tout conçue indépendamment et maintenant c'est le moment où je dois tout regrouper
    Donc j'ai tous mes éléments mais il me manque le plus important : l'assemblage

    D'accord ! Je ne pensais pas qu'un "focus" était nécessaire, mais je ne voie pas comment l'élaborer, je vais faire des recherches pour affiner mon questionnement
    Mais effectivement, je pense que vous avez apporté le bon raisonnement à mon problème, il ne me reste plus qu'à le mettre en forme !

    Je vous remercie pour votre aide, chaque piste est importante pour moi !
    Je vais essayer de ce pas !

  14. #13
    Kaloo59

    Re : Processing problème moussePressed

    Je pense avoir trouvée une voie sur ce site là mais je continue mes recherches pour trouver LA solution

    si ça en intéresse certain qui sont dans le même problème que moi, voici le site que je parcours actuellement : https://translate.google.com/transla...2Ffocused.html

  15. #14
    Kaloo59

    Re : Processing problème moussePressed

    Excusez moi, je me suis renseignée sur la programmation système et je ne pense pas avoir le niveau pour m'essayer à ça, n'y a t'il pas simplement une autre solution me permettant de faire ce ''focus'' ?

  16. #15
    LeMulet

    Re : Processing problème moussePressed

    Ce qui serait bien, pour commencer, ce serait de nous montrer la portion du code qui effectue le lancement d'un des programmes, histoire d'être sûr qu'on parle bien de la même chose.

    Ensuite, à partir des images du menu, il me semble qu'avoir produit des scripts (les programmes) indépendants pourrait être très mal noté par un correcteur.
    Les programmes indépendants semblent très proches et sont même liés (mêmes graphisme etc), et rien ne semble justifier cette segmentation.

    A mon avis, il vaudrait mieux réassembler les sources (çà ne doit pas être trop compliqué, même si ça peut être fastidieux).
    Une bonne raison à cela, c'est que si vous voulez gérer les programmes avec le focus etc (qui sont de plus des scripts interprétés, même si on peut en faire un .exe il me semble ?), vous rendez votre application dépendante du système d'exploitation.
    Genre, vous avez développé sur PC, l'examinateur arrive avec un MAC, => ça ne tourne pas.
    Bonjour, et Merci.

  17. #16
    Ikhar84
    Animateur Informatique

    Re : Processing problème moussePressed

    Avant d'aller plus loin, etudiez ce cours sur Pyrhon et les interfaces graphiques, en particulier le paragraphe sur les boutons et leur gestion: ici sur OpenClassRooms.

    Ensuite, dans la fonction qui va être appellée par l'action sur le bouton (commande), vous pourrez cacher la fenêtre appelante en invoquant sa méthode hide().
    Mais pour la "réafficher" depuis la fenêtre fille, il faut une référence, passée à la fille, ou que la fille ai été appellée de façon "modale".

    Comme je ne connais pas Python, à voir comment faire en pratique. Mais de toute façon, ce n'ai jamais une bonne idée d'empiler les fenêtre. Il existe une astuce: utiliser des pannels successifs pour les différents états de l'applucation que l'on va masquer ou afficher en fonction de l'état courant. Et là on reste dans la même fenêtre donc, en conservant toutes le variables et objets courants...
    Un exemple de gestion du passage d'une fenêtre à une autre, catastrophique....
    J'ai glissé Chef !

  18. #17
    Kaloo59

    Re : Processing problème moussePressed

    Merci beaucoup pour votre réponse !

    je vous joint à ce message mon code de façon dite "liée" (où je pense avoir comme vous dite, rassemblé les sources), elle fonctionne exactement comme la segmentée (celle que vous me déconseiller) alors gardons la liée
    Je vous avoue ne pas connaître ce .exe, je vais me renseigner au plus vite
    Effectivement ce n'est pas une bonne solution, cela pourrait me bloquer le jour de l'examen
    Code:
    boolean button = false;
    boolean button1 = false;
    boolean button2 = false;
    boolean skip = false;
      
      void setup() {
      size(1355,700);
      }
      
      void draw() {
        menu();
      }
      
      void menu(){
        
     fond();
    
     
      //boutons + texte
     
       fill(#F0C300);
      stroke(#AD4F09);
     
      rect(577, 400, 200, 60);
      textFont(police,50);
    fill(0);
      stroke(0);
      text("START", 622, 448);
    
        fill(#F0C300);
      stroke(#AD4F09);
     
      rect(577, 300, 200, 60);
        textFont(police,45);
        fill(0);
      stroke(0);
      text("PROLOGUE", 593, 348);
    
        fill(#F0C300);
      stroke(#AD4F09);
     
          rect(577, 500, 200, 60);
            textFont(police,45);
            fill(0);
      stroke(0);
      text("SUSHIMOJIS", 590, 548);
      
       // les renvois des boutons
       if(button == true){
        niveaux();
      }
        
       if(button1 == true){
         regle();
       }
      
      if (button2 ==true){
        sushimojis();
      }
        }
      
       
        //action souris
          void mouseClicked() {
      if (mouseX > 577 && mouseX < 577+200 && mouseY > 400 && mouseY < 400+60) {
        button = !button;
       }
    
        else
      if (mouseX > 577 && mouseX < 577+200 && mouseY > 300 && mouseY < 300+60){
        button1 = !button1;
      }
      else
      if (mouseX > 577 && mouseX < 577+200 && mouseY > 500 && mouseY < 500+60){
     button2 = !button2;
           }  
      }
    
    void mouseMoved() {
       if (mouseX > 577 && mouseX < 577+200 && mouseY > 400 && mouseY < 400+60){
       cursor(HAND);
    }
    else
    if (mouseX > 577 && mouseX < 577+200 && mouseY > 300 && mouseY < 300+60){
    cursor(HAND);
    }
    else
    if (mouseX > 577 && mouseX < 577+200 && mouseY > 500 && mouseY < 500+60){
    cursor(HAND);
    }
    else {
    cursor(ARROW);
       
    }
    }
    
    void fond(){
       // Je vous passe se pavé
    }
      void niveaux() {
        
        fond();
      
        //bouton 
      fill(#F0C300);
      stroke(#AD4F09);
      rect(577, 415, 200, 60);
      rect(577, 315, 200, 60);
      rect(577, 515, 200, 60);
      
      }
      
        void regle() {
        
    fond();
      //rectangle
      fill(#F0C300);
      stroke(#AD4F09);
      rect(1100, 600, 150, 50);
      
      fill(#F0C300);
      stroke(#AD4F09);
    PFont police;
    police = loadFont("Gabriola-48.vlw");
    textFont(police,100);
    
    text("Sushi", 500, 130);
    text("Show", 670, 140);
    
    police = loadFont("GentiumBookBasic-Bold-48.vlw");
    textFont(police,40);
    
    
          fill(#582900);
        stroke(#87591A);
      quad(100, 250, 90, 240, 300, 30, 305, 32);
        fill(#D00C0E);
        stroke(#D00C0E);
      quad(146, 200, 100 ,250, 90, 240, 138, 192);
     
     //ce passage est mis de façon à ce qu'il n'apparaisse pas dans le programme car il ne fonctionne pas (c'est la seconde partie de mon problème on va dire, mais à mon sens tout //est lié)
      
     // if (mouseX > 1100 && mouseX < 1100+150 && mouseY > 600 && mouseY < 600+50){
    //(mousePressed==true)
      //      (skip == true){
        // menu();
       //}
         //    }
           //   (mouseMoved==true) {
             //   cursor(HAND);
       
       //}
       }
      
    
        void sushimojis(){
       fond();
      
      
     PImage oie_transparent;
      oie_transparent = loadImage ("oie_transparent.png");
      
        image(oie_transparent, 150, 320, 120, 127);
      }
    voilà voilà
    je peut vous joindre aussi ce même programme en fractionné si vous le désirez mais le temps qu'ils soient valider cela risque d'être long
    Je vous ai raccourcis le programme en retirant tout ce qui me semblait inutile (design et autre)
    je vous propose de nous focalisé sur le boutton1 (sur lequel il est inscrit "Prologue") qui emmène aux règles du jeu (void regle())
    Si celui là va je serais capable d'arriver à le faire sur les autres avec un peu de réflexion

    En vous remerciant d'avance pour l'attention que vous portez à mon programme
    Dernière modification par Jack ; 17/04/2019 à 20h58. Motif: Ajout balises code

  19. #18
    Kaloo59

    Re : Processing problème moussePressed

    Je me suis déjà beaucoup attardée sur ce site mais je vais refaire un tour dessus pour être sur de mes acquis
    Ho, je ne connaissais pas cette méthode ! Je vais étudier tout ça mais ça me semble très intéressant, je vais faire quelques recherche et appliquer cette méthode
    Merci pour votre lien, je comprend mon erreur d'empiler, je vais regarder les autres formes possibles d'organisations (je vous avoue que mon niveau est celui de débutant, j'ai survolée votre lien rapidement pour le moment et cela me semble assez complexe, je risque de devoir revenir vers vous pour quelques informations complémentaires)

    merci infiniment pour votre réponse

  20. #19
    pm42

    Re : Processing problème moussePressed

    Citation Envoyé par Kaloo59 Voir le message
    Je me suis déjà beaucoup attardée sur ce site mais je vais refaire un tour dessus pour être sur de mes acquis
    Ho, je ne connaissais pas cette méthode ! Je vais étudier tout ça mais ça me semble très intéressant, je vais faire quelques recherche et appliquer cette méthode
    Ok, si tu veux avancer et qu'on puisse t'aider, il y a beaucoup de choses à changer :
    - tu dis que ton projet est en python mais ce que tu as posté ne l'est pas. Si tu ne précises pas le langage, cela rend impossible de te répondre
    - tu devrais mettre des balises "
    Code:
    " et "
    " autour de ton programme
    - tu peux oublier les .exe et tout ça. Globalement tu peux oublier les posts de LeMulet, ils ne sont absoluement pas pertinents pour ton problème

    Donc, si tu nous confirmes le langage, la librairie graphique et l'environnement ce serait bien. Pour le moment, cela ressemble à du Java/AWT 2D mais pas entièrement.

    Enfin et le plus important personne ne gère des boutons comme tu l'as fait en testant la position d'un clic avec un "mousePressed" ou "mouseClicked" global. On utilise des composants et à chaque bouton, on associe la fonction à appeler quand il est pressé.
    De cette façon, le code fonctionne quand :
    - on déplace les boutons
    - on en retire/ajoute sans qu'on ait à tout changer
    - quand comme toi on change de page

  21. #20
    Kaloo59

    Re : Processing problème moussePressed

    Au moment où je reçois votre message je me rend compte que le prof nous a donné le mauvais nom de langage... je ne sais donc pas en quoi je code... J'ai due mélanger plusieurs langages et je ne sais pas comment rattraper tout ça... c'est le travail d'un an qui part en fumé et j'ai les oraux à réviser...
    je recommence tout et surement en langage Java/AWT 2D puisque c'est celui que vous avez reconnu donc c'est celui qui est le plus présent
    je m'y met immédiattement

  22. #21
    Ikhar84
    Animateur Informatique

    Re : Processing problème moussePressed

    Effectivement ça ne risque pas d'être du Python, et aucun langage d'ailleurs, on part de C à la Arduino, pour faire du C-like (Java, F# ?)...

    Quel IDE utilisez vous ? (Environnement de développement).
    J'ai glissé Chef !

  23. #22
    Kaloo59

    Re : Processing problème moussePressed

    J'utilise Processing
    vous pensez que je devrais recommencer en quel langage pour être le moins dépaysée et / ou le plus simple ?

  24. #23
    Kaloo59

    Re : Processing problème moussePressed

    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

  25. #24
    pm42

    Re : Processing problème moussePressed

    Citation Envoyé par Kaloo59 Voir le message
    J'utilise Processing
    vous pensez que je devrais recommencer en quel langage pour être le moins dépaysée et / ou le plus simple ?
    Tu te rends compte qu'on ne sait pas ce que tu dois faire, dans quel langage, etc ?
    On ne sait pas non plus pourquoi tu as choisi un environnement spécialisé qui ne semble pas bien adapté à ta tâche et que tu as essayé de coder des boutons d'une façon qui ne marche pas alors que le Net est plein de tutoriaux qui expliquent comment faire.

  26. #25
    Kaloo59

    Re : Processing problème moussePressed

    Je dois faire un mini jeu avec quand même beaucoup de graphisme de forme géométrique, c'est un peu comme une sorte de carré qui doit éviter les obstacles et attraper les récompenses en se dirigeant de droite à gauche avec les flèches du clavier (ça c'était notre projet avant que je me rende compte de notre erreur et de celle du prof) en langage on était libre, du coup on a suivie ce que le prof nous avait dit avec ses documents et au final ça n'a pas donné
    Je me rend bien compte que ce que j'ai fais n'a aucun sens mais je ne sais pas comment le récupérer, quel langage utiliser
    jusque ici je me suis beaucoup inspiré de ça https://fr.flossmanuals.net/processing/les-modes/ mais je ne sais pas en quel langage c'est et je ne sais plus comment me rediriger
    est ce que vous me conseillez un langage en particulier que mon binome va étudier demain pour pouvoir ''traduire'' ce que on à deja fais ?

    Si vous savez le langage de se site dite le moi, c'est celui avec lequel je me sent le plus a l'aise comme je me suis basée dessus pratiquement tout mon programme
    Dernière modification par Kaloo59 ; 17/04/2019 à 22h03.

  27. #26
    pm42

    Re : Processing problème moussePressed

    Citation Envoyé par Kaloo59 Voir le message
    Je me rend bien compte que ce que j'ai fais n'a aucun sens mais je ne sais pas comment le récupérer, quel langage utiliser
    Ce que tu as fait ressemble beaucoup à du Java ce qui est normal puisque c'est le langage de Processing par défaut.


    Citation Envoyé par Kaloo59 Voir le message
    est ce que vous me conseillez un langage en particulier que mon binome va étudier demain pour pouvoir ''traduire'' ce que on à deja fais ?
    Java va bien marcher. Mais tu peux aussi faire du Python, du Javascript...

    Mais le plus important serait de faire les choses rigoureusement et pas au petit bonheur la chance.

  28. #27
    Kaloo59

    Re : Processing problème moussePressed

    Je recommence tout en java alors cette fois si ça va marcher
    je vais tout traduire tout correctement et j'espère que cette fois ci tout fonctionnera

  29. #28
    Kaloo59

    Re : Processing problème moussePressed

    Je tient quand même tous à vous remercier l'aide que vous m'avez apporté et le temps que vous m'avez consacré
    Demain soir j'aurais tout coder et si de nouveau je suis confrontée au même problème alors je reviendrais vous voir

    Dans tous les cas je viendrais mettre mon nouveau code ici pour aider les personnes en difficultés comme moi

    Merci à tous et bonne soirée

  30. #29
    Kaloo59

    Re : Processing problème moussePressed

    Excusez moi, je suis toujours sur processing et j'essaie de coder en java, mais rien ne fonctionne alors que ce sont des copiés collé des codes qui fonctionnent trouvés sur internet
    Je ne comprend pas ce qu'il se passe, pensez vous que python serait plus adapté à processing ?

    Je me suis basée principalement sur ce site pour faire mon ancien programme : https://fr.flossmanuals.net/processing/les-modes/
    du coup j'ai du mal à comprendre ce qui ne va pas, j'ai vraiment tout fais comme ils disaient, cela signifie que lui aussi mélange plusieurs langages ?

  31. #30
    Fustigator

    Re : Processing problème moussePressed

    Citation Envoyé par Kaloo59 Voir le message
    Excusez moi, je suis toujours sur processing et j'essaie de coder en java, mais rien ne fonctionne alors que ce sont des copiés collé des codes qui fonctionnent trouvés sur internet
    Logique : le cargo cult programming aboutit rarement a des résultats qui fonctionnent.

Page 1 sur 3 12 DernièreDernière

Discussions similaires

  1. Probleme processing
    Par aviati dans le forum Logiciel - Software - Open Source
    Réponses: 3
    Dernier message: 16/03/2015, 18h49
  2. Problème avec Processing
    Par Khalil_ 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