Bonjour tout le monde,
Dans le cadre d'un projet scolaire je réalise un petit space shooter.
J'ai ma boucle du jeux de la sorte:
Maintenant le problème que j'ai c'est :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
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
27
28
29
30
31
32
33
34
35
36
37
38 while (!Done){ SDL_WaitEvent (&event); switch (event.type){ case SDL_QUIT: Done = true; break; case SDL_KEYDOWN: switch (event.key.keysym.sym){ case SDLK_ESCAPE: Done = true; break; case SDLK_RIGHT: // move shooter right if (!Pause) Player->advance(); break; case SDLK_LEFT: // move shooter left if (!Pause) Player->goBack(); break; case SDLK_SPACE: // Shoot if (!Pause) Player->shoot(); break; case SDLK_p: Pause = ! Pause; break; case SDLK_a: if (speed < 80) speed += 5; break; case SDLK_z: if (speed > 5) speed -= 5; break; default: break; } } }
Lorsque par exemple la touche LEFT reste appuyé, mon avion bouge niquel, mais si je reste appuyé (donc en mouvement) et que je tire par exemple (SPACE) le shoot est bien effectué mais mon avion arrête de bouger et donc je dois relâcher la touche LEFT et la ré enfoncer pour continuer.
Y'aurait-il une solution classique à ce problème ?
Merci![]()
Partager