Bonsoir à tous,
j'ai essayé diverse solution pour essayer de bloquer la souris dans un objet de type window, c'est à dire que la souris ne quitte pas la fenêtre.
Actuellement j'en suis à l'étape incompréhension du comment fonctionne le calcul de la position absolu de la souris.
En effet, si j'affiche les coordonnées x et y, de event.motion à chaque évènement motion, les coordonnées s'inscrivent dans mon terminal, mais des que je sors plus rien aucune coordonnées n'est inscrite.
J'en déduis donc que x et y sont intimement liés à la fenêtre.
Pour confirmer cette hypothèse j'ai donc juste rajouté des appels à showCursor comme ceci :
Conclusion, ne marche que dans un seul sens, celui ci, si je pars du principe que x et y peuvent être supérieur ou inférieur aux dimensions de ma fenêtre cela ne marche pas.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13 if (event.type == SDL_MOUSEMOTION || event.type == SDL_MOUSEBUTTONDOWN) { SDL_ShowWindow(p_SDL.pSDL_window); cprintf("%d", event.motion.x); cprintf("%d", event.motion.y); if (event.motion.x >= 0 || event.motion.y >= 0 || event.motion.x < WIDTH || event.motion.y < HEIGHT) { SDL_ShowCursor(SDL_DISABLE); } else SDL_ShowCursor(SDL_ENABLE); }
Du coup je n'ai plus de piste pour le moment sur comment bloquer le déplacement de la souris dans ma fenêtre de jeu.
Merci d'avance à tous ceux qui prendront le temps de m’aiguiller tant soit peu.
Bonne soirée
Partager