Partage
  • Partager sur Facebook
  • Partager sur Twitter

[SFML] équivalent à SDL_WM_GrabInput

Sujet résolu
    15 juin 2008 à 13:32:18

    Bonjour,
    je développe une camera en OpenGL.
    Et je me suis apperçu que j'avais un petit problème, lorsque l'on bouge la souris, la vue se déplace, mais il ne faut pas que la souris puisse sortir de l'écran ou arrivée au bord, la vue doit tourner à l'infini si vous voyez ce que je veux dire.
    La fonction SDL_WM_GrabInput(SDL_GRAB_ON); permet de faire cela.
    Il y a t'il un équivalent sous SFML?
    Ou bien des indice pour implémenter ceci. :)

    en gros : on bouge la souris, la vue bouge, mais pas le curseur lui-même.
    Merci beaucoup

    (PS : j'ai penser à la méthode setCursorPosition, mais il faudrait faire un curseur virtuel qui se déplace à la place du curseur.
    Ou en fait ce que j'ai réellement besoin c'est juste la direction X et Y de la souris : positif vers le haut ou droite, négatif vers le bas ou gauche).
    • Partager sur Facebook
    • Partager sur Twitter
    Anonyme
      15 juin 2008 à 13:58:21

      Deux solutions :
      >soit tu déplaces la caméra en fonction de la position de la souris (limitée donc par la taille de la fenêtre).
      >soit en fonction du déplacement de la souris. Celle ci me parait la meilleur. Pour cela, tu places au centre le curseur avec SetCursorPosition.
      • Partager sur Facebook
      • Partager sur Twitter
        15 juin 2008 à 14:00:49

        je ne pense pas que ça soit possible: http://www.sfml-dev.org/forum-fr/viewt [...] dlwmgrabinput

        Citation : hiura

        soit en fonction du déplacement de la souris. Celle ci me parait la meilleur. Pour cela, tu places au centre le curseur avec SetCursorPosition.

        o_O , je savais qu'il y avais un truc comme le deltaX et deltaY dans la SFML, Si?
        • Partager sur Facebook
        • Partager sur Twitter
          15 juin 2008 à 14:13:00

          Merci,
          la caméra se déplace en fonction du déplacement de la souris,
          seulement voilà :
          Je récupère bien la valeur du mouvement de la souris, cependant lorsque je fait SetCursorPosition, il me refait un evenement je ne sais pas pourquoi et la camera reste comme bloquée au centre, quand je bouge la souris la camera bouge puis reviens très rapidement.
          Je ne comprends pas

          EDIT : suis-je idiot, il falais remettre mes anciennes valeures aux centre aussi, enfin bref ça marche merci encore.
          • Partager sur Facebook
          • Partager sur Twitter
          Anonyme
            15 juin 2008 à 14:54:13

            Citation : zero ptt

            Citation : hiura

            soit en fonction du déplacement de la souris. Celle ci me parait la meilleur. Pour cela, tu places au centre le curseur avec SetCursorPosition.

            o_O , je savais qu'il y avais un truc comme le deltaX et deltaY dans la SFML, Si?


            La SFML ne propose pas de delta, mais tu peux le faire toi-même avec deux couples de positions. Une "actuelle" et l'autre "précédente".
            • Partager sur Facebook
            • Partager sur Twitter
              15 juin 2008 à 15:27:22

              oui biensur, c'est meme ce que j'ai fais dans l'exercice de la camera ^^
              mais dommage, ça m'aurait facilité le travail!
              • Partager sur Facebook
              • Partager sur Twitter
              Anonyme
                15 juin 2008 à 15:42:30

                C'est pas drôle alors. :p

                P.S. oublie pas : la SFML est bas niveau.
                • Partager sur Facebook
                • Partager sur Twitter

                [SFML] équivalent à SDL_WM_GrabInput

                × 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