N'agit pas bien quand j'utilise le clavier [SDL] - C++ - Programmation
Marsh Posté le 04-07-2004 à 00:08:28
j'y connais rien, mais je dirais: ne fais qu'__un_seul__ PollEvent et après, swith sur .type
Marsh Posté le 04-07-2004 à 14:52:52
je pense que ca viendrait peut etre d'un probleme de thread nan, j'me trompe? j'y connais pas assez en programmation (encore moins en thread) mais si il faut appuyer plusieurs fois... c'est qu'avant il faisait une autre tache et n(execute que tache par tache
Marsh Posté le 04-07-2004 à 21:38:14
Taz a écrit : j'y connais rien, mais je dirais: ne fais qu'__un_seul__ PollEvent et après, swith sur .type |
+1
Marsh Posté le 04-07-2004 à 23:17:16
Salut...
Deux remarques :
1/effectivement comme le dit Kristoph, le SDL_PollEvent enlève l'event de la file d'attente et le stocke dans event => donc tu perds des évenements lors de tes tests !
2/ il est fortement conseillé d'avoir un SDL_Delay( 15 ) pour que l'OS ne soit pas à 100% occupé.
Marsh Posté le 05-07-2004 à 12:06:54
effectivement, j'ai fait un switch avec un seul PollEvent et le problème est résolu. Merci
Marsh Posté le 03-07-2004 à 23:19:27
Bonjour, j'ai un petit problème d'utilisation de la librairie SDL. Voici mon code qui me pose problème :
while (true)
{
SDL_Event event;
if (SDL_PollEvent (&event) && event.type==SDL_QUIT)
break;
if (SDL_PollEvent (&event) && event.type==SDL_KEYDOWN)
{
x=x+50;
cout<<"x vaut : "<<x<<endl;
}
affichage(x);
}
La fonction affichage(x) fait un affichage qui depend de x mais là n'est pas le problème je pense. Avec ce code, le clic sur la croix de fermeture de la fenetre fonctionne tjs mais l'appui d'une touche n'incremente pas tjs x. Il faut que j'appuie plusieur fois de suite sur n'importe quelles touches pour qu'à un moment x veuille bien s'incrémenter. pourtant d'après ce que je pense avoir écrit, x devrait s'incrementer à chaque appui de touche quelquonque. Où est le problème? Merci d'avance