DarthKhaos
Messages postés7Date d'inscriptionmardi 28 avril 2009StatutMembreDernière intervention20 mars 2011
-
28 avril 2009 à 11:26
DarthKhaos
Messages postés7Date d'inscriptionmardi 28 avril 2009StatutMembreDernière intervention20 mars 2011
-
7 mai 2009 à 17:57
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.
cs_Chouchou182
Messages postés252Date d'inscriptionvendredi 13 juin 2003StatutMembreDernière intervention25 avril 20111 29 avril 2009 à 22:02
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.
cs_beg0
Messages postés51Date d'inscriptionlundi 17 janvier 2005StatutMembreDernière intervention13 mars 20111 30 avril 2009 à 02:53
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 ?
DarthKhaos
Messages postés7Date d'inscriptionmardi 28 avril 2009StatutMembreDernière intervention20 mars 2011 30 avril 2009 à 09:53
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é
DarthKhaos
Messages postés7Date d'inscriptionmardi 28 avril 2009StatutMembreDernière intervention20 mars 2011 7 mai 2009 à 17:57
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 ;-)