Petit probleme SDL

Signaler
Messages postés
7
Date d'inscription
mardi 28 avril 2009
Statut
Membre
Dernière intervention
20 mars 2011
-
Messages postés
7
Date d'inscription
mardi 28 avril 2009
Statut
Membre
Dernière intervention
20 mars 2011
-
Bonjour, voila j'ai un petit souci, j'ai un projet ou je dois faire bouger un bras robotisé aprés plusieur test sa marche a merveille, en selectionnant l'axe et lui saisissant une valeur, mais on m'a demander de le faire avec des événement je me suis donc pencher sur le sujet et j'ai commencer a travailler un peu sur SDL. J'ai deux question,

je precise que je travaille en c sous dev c++

la premiere pourquoi dans ce bout de code:

int main(int argc, char *argv[])
{
    SDL_Surface *ecran = NULL;
    SDL_Event event; /* La variable contenant l'évènement */
    int continuer = 1; /* Notre booléen pour la boucle */


    printf("test\n");


 




    SDL_Init(SDL_INIT_VIDEO);


    ecran = SDL_SetVideoMode(640, 480, 32, SDL_HWSURFACE);
    SDL_WM_SetCaption("Gestion des evenements en SDL", NULL);


 SDL_Quit();
}

le printf ne s'affiche pas dans la console (je sais que le fenetre ne devrait pas rester plus d'un millieme de seconde j'ai enlever la fonction pause() qui marche niquel .

Deuxieme question, pourquoi dans ce code:

while (continuer)
{
    SDL_WaitEvent(&event);
    switch(event.type)
    {
        case SDL_QUIT:
            continuer = 0;
            break;
        case SDL_KEYDOWN:
            switch (event.key.keysym.sym)
            {
                case SDLK_KP_PLUS: /* Appui sur la touche Echap, on arrête le programme */
                    continuer = 0;
                    break;
            }
            break;
    }
}

Si je remplace le SDLK_KP_PLUS par SDLK_a sa ne marche pas   (c'est la fonction d'arret)

je vous remercie par avance de méclairer sur ces points que je n'ai pas su eclaircir en plusieurs heures de recherche.

6 réponses

Messages postés
252
Date d'inscription
vendredi 13 juin 2003
Statut
Membre
Dernière intervention
25 avril 2011

Bonjour,
« Chez moi, ça marche » : "test" est imprimé dans la console.
Le code SDLK_KP_PLUS ne représente pas la touche échap mais la touche plus de l'éventuel pavé numérique.
La touche échap est représentée par le symbole SDLK_ESCAPE.

Bonne prog,
Messages postés
51
Date d'inscription
lundi 17 janvier 2005
Statut
Membre
Dernière intervention
13 mars 2011
1
Pour le remplacement de SDLK_KP_PLUS par SDLK_a, t'as essayer, a tout hasard, d'appuyer sur 'Q' ? Je pense pas que ça soit ça ton problème, mais bon, on sait jamais...
Sinon j'ai pas compris, lorsque tu mets sytem("PAUSE"); dans ton premier bout de code, ca affiche la console ou pas ?
autre chose : un fprintf(stderr,"test\n");  affiche quelque chose sur la console ?
Messages postés
7
Date d'inscription
mardi 28 avril 2009
Statut
Membre
Dernière intervention
20 mars 2011

Tout d'abord je vous remercie pour les réponses donnez. Chouchou182 tu me dit que chez toi le test est affichez en console, ben moi non je ne le comprend pas mais je vais chercher a comprendre   et pour SDLK_KP_PLUS oui je savais qu'il s'agissait de la touche + mais j'ai oubliée de changer le commentaire qui était mis avant.
Beg0, tapez 'q' pour SDLK_a a marché j'aurais du penser au clavier américain, mais sinon fprintf(stderr,"test\n"); n'affiche rien sur la console.
Je vous remercie encore tous les deux pour les réponses apporté
Messages postés
7
Date d'inscription
mardi 28 avril 2009
Statut
Membre
Dernière intervention
20 mars 2011

Chouchou j'ai une question tu utilise quel 'IDE ???

Errare Humanum Est Perseverare Diabolicum

 
Messages postés
252
Date d'inscription
vendredi 13 juin 2003
Statut
Membre
Dernière intervention
25 avril 2011

Salut,

L'environnement de développement que j'utilise est GNU.

As-tu résolu tes problèmes ?
Messages postés
7
Date d'inscription
mardi 28 avril 2009
Statut
Membre
Dernière intervention
20 mars 2011

comment dire oui et non oui j'ai résolu un problème, le robot marche relativement correctement, je dois fignoler quelque détails mais aussi non car a cause d'un problème de compatibilité j'ai du me résoudre a trouver une solution sans SDL, qui ne me satisfait que moyennement mais bon je fais avec ;-)

Errare Humanum Est Perseverare Diabolicum