Partage
  • Partager sur Facebook
  • Partager sur Twitter

0 Joysticks Connectés

Sujet résolu
    14 juillet 2006 à 4:54:42

    Bonjour à Tous ! :D

    Ca faisait longtemps que je n'avais pas poster.

    Voila mon probleme:

    Je suis sous "DEV C++", j'en suis au cours sur les évènements du joystick. J'ai mis tout les .dll de la SDL.
    Mon joystick est reconnu "sous windows", mais le programme ne detecte aucun joystick sous la SDL.
    (C'est un vrais probleme, je peux plus continuer les cours :( )
    Si quelqu'un à eu le meme probleme ou connais la reponse, j'en serais heureux !

    Le code à la suite marche tres bien, et un "stdout" se créer marquant:
    "il y a 0 joystick(s) connecté(s)"

    Merci d'avance ! ^^

    #include <stdlib.h>
    #include <stdio.h>
    #include <SDL/SDL.h>


    int main(int argc, char *argv[])
    {
        SDL_Surface *ecran = NULL;
        SDL_Event event;
        int continuer = 1;
        long i = 0;
       
        printf("il y a %ld joystick(s) connecté(s)\n", SDL_NumJoysticks());
       
        for (i = 0 ; i < SDL_NumJoysticks() ; i++ )
        {
        printf("Joystick n°%ld : %s\n", i, SDL_JoystickName(i));
        }

        SDL_Init(SDL_INIT_VIDEO);
       
        ecran = SDL_SetVideoMode(640, 480, 32, SDL_HWSURFACE | SDL_DOUBLEBUF);
        SDL_Flip(ecran);
       
       
        while (continuer)
        {
        SDL_WaitEvent(&event);
             switch(event.type)
             {
             case SDL_QUIT:
             continuer = 0;
             break;
             }
        }
       
        SDL_Quit();

        return EXIT_SUCCESS;
    }
    • Partager sur Facebook
    • Partager sur Twitter
      14 juillet 2006 à 6:14:30

      Il faut indiquer lors de l'initialisation de la SDL que tu vas utiliser un ou plusieurs joysticks :
      SDL_Init(SDL_INIT_VIDEO | SDL_INIT_JOYSTICK);


      for (i = 0 ; i < SDL_NumJoysticks() ; i++ )

      Il serait plus propre de stocker dans une variable la valeur renvoyée par SDL_NumJoysticks(). Pas besoin de l'appeler à chaque tour de boucle.
      • Partager sur Facebook
      • Partager sur Twitter
        15 juillet 2006 à 17:02:15

        Merci Timon,

        Effectivement c'etais ca, mais en plus de ca, il fallais que je mette le
        SDL_Init(SDL_INIT_VIDEO | SDL_INIT_JOYSTICK);


        avant le
        printf("il y a %ld joystick(s) connecté(s)\n", SDL_NumJoysticks());


        Merci !!!
        • Partager sur Facebook
        • Partager sur Twitter

        0 Joysticks Connectés

        × 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