[C] Probléme avec une procédure
Salut,
Lors d'un evenement, j'appelle une procédure nommée pause() cependant à l'appel de cette procédure mon programme plante.
Tout d'abord dans le programme principale je détermine des evenements au clavier:
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26
| while(continuer == 1)
{
SDL_PollEvent(&evenement);
switch(evenement.type)
{
case SDL_QUIT:
continuer = 0;
break;
case SDL_KEYDOWN:
switch(evenement.key.keysym.sym)
{
case SDLK_ESCAPE:
continuer = 0;
break;
[...]
case SDLK_p:
pause(); //Lorsque l'utilisateur appuie sur le touche 'p', la procédure pause est appelée
break;
}
break;
} |
Voila la procédure pause():
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23
| void pause()
{
int pause = 1;
SDL_Event toucheP; //Déclaration d'un evenement
while(pause == 1)
{
SDL_WaitEvent(&toucheP);//Tant qu'il n' y a pas d'evenement tu ne fais rien
switch(toucheP.type)
{
case SDL_KEYDOWN:
switch(toucheP.key.keysym.sym)
{
SDLK_p:
pause = 0; //Si l'utilisateur appuie sur la touche 'p', pause reçoit 0 pour ne pas ré-entrer dans la boucle
break;
}
break;
}
}
} |
Donc mon programme tourne correctement et quand j'appuie sur la touche 'p' le programme se met en pause, par contre aprés quand je réappuie sur la touche 'p' sa plante.
L' IDE ne me renvoie aucun message d'erreur particulier.
Je pense que le probléme vient de ma procédure pause(), plus précisement lors de l'évenement mais je ne vois pas pourquoi ca ne marche pas.
En espérant que vous pouvez m'aider.
Cordialement Sieldev,