Bonjour à tous !
J'ai un petit soucis avec mon code c++ dans la création d'un jeu avec sdl. Le jeu consiste a donner des vitesses et des directions à des boules sur un terrain de jeu.
J'aimerais que quand on clic sur une boule et qu'on reste appuyer dessus en bougeant la souris. Je donne a ma boule la vitesse et la direction quand je relache le bouton. Seulement voila, j'ai l'impression que quand je bouge la souris avec le bouton gauche ENFONCÉ, il effectue un MOUSEBUTTONUP directement après. Voici mon code :
Voila, et quand je bouge ma souris avec le bouton gauche enfoncé, il effectue un UP :s car il m'affiche "MERDA" (excusez moi mais ca ma énervé :p )
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
39
40
41
42
43
44
45
46
47
48
49
50 switch(event.type){ case SDL_QUIT: return false; break; case SDL_MOUSEBUTTONDOWN: if (event.button.button == SDL_BUTTON_LEFT){ if (!aBallisSelected_){ ballsprite = onBall(event.button.x,event.button.y); if(ballsprite != -1){ aBallisSelected_ = true; xClick_ = event.button.x; yClick_ = event.button.y; clickedBall_ = ballsprite; cout << "clicked >>" << clickedBall_ << endl; } } else{ } } break; case SDL_MOUSEMOTION: if(aBallisSelected_){ recordspeed[clickedBall_] = (math_.distance(gt->getXOfBall(clickedBall_),gt->getYOfBall(clickedBall_), event.motion.x, event.motion.y)); recorddegree[clickedBall_] = math_.angle(gt->getXOfBall(clickedBall_),gt->getYOfBall(clickedBall_), event.motion.x, event.motion.y); cout << "Speed >> " << recordspeed[clickedBall_] << endl; cout << "Degree >> " << recorddegree[clickedBall_] << endl; } case SDL_MOUSEBUTTONUP: if (event.button.button == SDL_BUTTON_LEFT){ if(aBallisSelected_){ aBallisSelected_=false; cout << "MERDAAAAA" << endl; } } break; case SDL_KEYDOWN: switch (event.key.keysym.sym){ case SDLK_SPACE: for (int i=0; i<5 ; i++){ newMod[i] = recordspeed[i]; newMod[i] = recorddegree[i]; } aBallisSelected_ = false; break; } }
merci d'avance !
Partager