Partage
  • Partager sur Facebook
  • Partager sur Twitter

Déplacement à la souris

comme dans un STR par exemple...

Sujet résolu
    1 janvier 2009 à 21:30:08

    Bonsoir bonsoir !

    Bon j'avoue que cela s'approche de ma précédente question concernant l'affichage d'une carte pour un jeu 2D. Toutefois, la question est relativement différente d'où ce nouveau topic. En effet, je ne touche plus à l'affichage mais plutot aux déplacements :) .

    Je vous expose donc le soucis présent : pour me déplacer sur la carte en question, j'utilise un premier système qui est l'utilisation des flèches du clavier (pratique pour le déplacement du personnage) mais seulement voila, au sein de mon éditeur de cartes, j'aimerai que le déplacement sur la carte s'effectue à la souris un peu dans le style d'un jeu de stratégie à la Age of Empires. En gros : quand je suis au bord de ma carte, déplacer celle-ci tant que je ne quitte pas le bord de mon JPanel.

    Ma question est donc la suivante : comment bloquer la souris au bord du JPanel en question? Cela est-il possible? Si oui, comment procéder? Si non, quelle autre solution alternative me proposeriez-vous et comment la mettre en place?

    De nouveau, une simple mise sur la voie suffira :D !

    Merci d'avance !
    • Partager sur Facebook
    • Partager sur Twitter
      1 janvier 2009 à 21:49:57

      Moi je conseillerai de définir un champ de déplacement, ce que je veux dire par là c'est, "si la souris est à X pixels de la bordure gauche faire défiler la carte de x pixels vers la droite" (vers la droite ce qui aura pour effet de voir la partie gauche apparaître).
      • Partager sur Facebook
      • Partager sur Twitter
        1 janvier 2009 à 23:53:04

        mhhh je pense que tu peux imposer la position de la souris ....
        donc si elle sort de ton truc tu lui ordonne d'y retourner ....
        maintenant il faut savoir quel classe gère ça :)
        et ça google pourra t'aider :)
        • Partager sur Facebook
        • Partager sur Twitter
          2 janvier 2009 à 15:22:45

          Merci de vos réponses :) Dans le cas présent on (oui on est plusieurs sur le projet) a établit un déplacement à la souris via un clic droit maintenant plus un déplacement. Au plus on s'éloigne du point où l'on a cliqué, au plus cava vite pour se déplacer!
          • Partager sur Facebook
          • Partager sur Twitter
            2 janvier 2009 à 15:47:28

            yep .... mais la c'est pas grave si la personne quitte le jeux non ?

            je pense que ceci pourrait t'intéresser :)
            http://java.developpez.com/faq/gui/?pa [...] eplacer_ecran
            ou encore
            http://java.sun.com/javase/6/docs/api/java/awt/Robot.html



            sinon j'ai trouvé ça pour l'empêcher de sortir :)
            "Yo je ne crois pas que cela soit possible car cela reviendrait à figer ton OS. A mon avis la solution est de créér ton propre pointeur qui suit les mouvements de la souris Tu cache le pointeur standard au passage sur ton appli de sorte que ta souris perso prend sa place. Du coup tu peux figer ton propre pointeur si necessaire."
            • Partager sur Facebook
            • Partager sur Twitter
              2 janvier 2009 à 17:34:30

              un grand grand merci pour ces infos !

              Il va donc me falloir créer un principe de "figement" de curseur ... décidément ça se complique plus que je ne le pensais. Enfin bon, rien d'impossible jusqu'ici!

              Une solution reste le changement d'apparence du curseur à l'approche des bords du JPanel pour indiquer possibilité de déplacement de la carte. Ensuite, un clic maintenu et un déplacement pour déplacer le tout ...

              Bref, encore merci :D !
              • Partager sur Facebook
              • Partager sur Twitter
                2 janvier 2009 à 18:22:28

                :D mais de rien :)
                mais figer le curseur n'est pas très dur hein :)
                des qu'il sort de la zone tu utilise la méthode "mouseMove(int x, int y)"
                de la classe Robot ... pour l'obliger à retourner au dernières coordonnées auquel elle était :)

                sinon pour refaire le curseurs aussi c'est facile :p MouseMotionListener ....
                • Partager sur Facebook
                • Partager sur Twitter

                Déplacement à la souris

                × Après avoir cliqué sur "Répondre" vous serez invité à vous connecter pour que votre message soit publié.
                × Attention, ce sujet est très ancien. Le déterrer n'est pas forcément approprié. Nous te conseillons de créer un nouveau sujet pour poser ta question.
                • Editeur
                • Markdown