Partage
  • Partager sur Facebook
  • Partager sur Twitter

[SDL]MouseMotion

Déclencher et stopper à l'aide d'un clic

Sujet résolu
    20 avril 2006 à 12:03:48

    Hello :)

    Pour m'entraîner j'ai décidé d'essayer de faire bouger Zozor à l'aide de la souris (MouseMotion ) mais seulement lorsque j'aurais décidé de le faire (c'est à dire une fois que j'aurais cliqué la souris. ) Malheureusement ça veut pas marcher et je vois pas d'où peut provenir le problème.

    Voilà le passage de mon code qui pose problème :
    case SDL_MOUSEBUTTONDOWN:
    switch(event.button.button)
    {
        case SDL_BUTTON_RIGHT:
            while(continuer)
            {
                SDL_WaitEvent(&event);
                switch(event.type)
                {
                    case SDL_QUIT://J'ai mis ce cas juste pour être sûr que je pourrai quitter
                    continuer = 0;
                    break;

                    case SDL_MOUSEMOTION:
                    position.x = event.motion.x;
                    position.y = event.motion.y;
                    break;
                }
            }
        break;

    }
    break;


    Voilà, je voulais donc savoir s'il y avait une autre méthode pour y arriver. Estce que c'est l'accumulation de boucle avec un SDL_WaitEvent qui pose problème ?
    • Partager sur Facebook
    • Partager sur Twitter
      20 avril 2006 à 12:08:22

      Sur le premier clic active un booleen.
      Sur le mouvement de la souris fait suivre le curseur par zozor si ce booleen est vrai (int à 1 si du fais du C).
      • Partager sur Facebook
      • Partager sur Twitter
        20 avril 2006 à 12:33:38

        Tu t'es planté, faut pas imbriquer les boucles comme tu l'as fait là.
        Regarde le dernier tp (mario sokoban) pour voir comment je fais avec les booléens, c'est quasiment la même technique que tu dois utiliser.
        • Partager sur Facebook
        • Partager sur Twitter

        If you'd like to join us, read "How do we work at OpenClassrooms"! :)

          20 avril 2006 à 12:46:56

          Ok, merci beaucoup, je me doutais que ça venait de l'accumulation de boucles, mais je voyais pas comment faire autrement :)

          Citation : M@teo21

          Regarde le dernier tp (mario sokoban) pour voir comment je fais avec les booléens, c'est quasiment la même technique que tu dois utiliser.


          Justement, j'essayais de faire cet exercice avant de m'attaquer au TP :p

          Edit : Erf, comment on fait pour indiquer que le problème est résolu une fois qu'on a posté notre message ? :euh:

          Re-Edit : Merci !
          • Partager sur Facebook
          • Partager sur Twitter
          Anonyme
            20 avril 2006 à 14:30:17

            Tout en bas de la page, tu as 3 symboles, une etoile :magicien: , un truc vert :lol: et un point d'exclamation rouge . Clique sur le truc vert :)
            • Partager sur Facebook
            • Partager sur Twitter

            [SDL]MouseMotion

            × 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