Partage
  • Partager sur Facebook
  • Partager sur Twitter

SDL_Event manquant

    19 juin 2006 à 20:23:33

    Bonjour,

    donc je me fais un jeu et j'essaye toujours de le faire planter, afin d'en soustraire les erreurs. Je me suis rendu compte rapidement que le jeu peut continuer de "jouer" lorsqu'on a plus le focus, alors j'ai bien sûr mis en place un SDL_Event qui fait fonctionner mon jeu juste si on a le focus, et vice-versa.

    Mais ya toujours un problème dont je ne trouve pas d'Event associé à: c'est losrqu'on clique sur la barre titre de l'application SDL, où qu'on la déplace dans l'écran, alors le jeu arrête pendant qu'on "tient" la fenêtre, mais dès qu'on la relache, tout reprend à une vitesse folle, on ne contrôle plus rien pendant un certain temps...

    Alors, est-ce qu'il y a un événement associé au "drag-and-drop" de la fenêtre, car j'ai même essayer en vérifiant l'endroit d'un click de souris en se fiant à ses coordonnées (pour voir si la souris se situe sur la barre titre, mais sa marche pas... :( )

    Pour l'instant, je ne vois comme solution que d'utiliser le flag "SDL_NOFRAME" afin de ne jamais pouvoir la déplacer :(:(:(
    • Partager sur Facebook
    • Partager sur Twitter
      19 juin 2006 à 20:43:02

      Eh bien ya pas vraiment à y mettre le code source mais en gros,
      il y a deux choses:

      SDL_WaitEvent, controlant le fait qu'on puisse faire un SDL_QUIT, ou obtenir le focus pour l'application, mettant donc une variable PAUSE = 0...

      SDL_PollEvent, controlant la perte du focus, ou SDL_QUIT, alors changeant la valeur de PAUSE pour 1...

      et un "while(!PAUSE)" pour faire jouer le jeu quand il faut, mais sa change pas que le jeu puisse être clické dans la barre de titre pour le faire planter...
      • Partager sur Facebook
      • Partager sur Twitter
        19 juin 2006 à 21:15:10

        Utilise SDL_WM_GrabInput.

        Cette fonction te permet de garder la souris et le clavier pour l'application. L'effet direct est que ta souris ne peut plus aller sur la barre du haut pour déplacer ta fenêtre (et tu ne pourras plus non plus fermer la fenêtre avec la souris).

        Avant d'utiliser cette fonction, assure toi que tu peux quitter ta fonction avec une touche (Echap par exemple) et que ta fonction pause (si tu en as une) rend la souris à ton OS. ;)
        • Partager sur Facebook
        • Partager sur Twitter
          19 juin 2006 à 21:27:21

          Bon, peut-être que ça pourra servir, je trouve cette fonction très drole, voir la pauvre souris qui ne peut plus s'enfuir de la fenêtre, c'est comme une prison lol!

          Merci bien!
          • Partager sur Facebook
          • Partager sur Twitter

          SDL_Event manquant

          × 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